




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、移動計算實驗報告目錄一、 實驗目的:1二、 實驗環境:1三、 實驗內容:2四、 實驗過程21. 搭建MobiLink服務器21) 創建統一數據庫22) 創建發布(publication)53) 創建統一數據庫的ODBC數據源64) 創建同步版本號95) 創建表同步腳本116) 創建同步用戶142. 搭建MobiLink客戶端161) 創建UltraLite遠程數據庫162) 創建同步173) 測試同步183. 搭建仿真器Windows Mobile 5.0 Pocket PC SDK22配置Windows Mobile 5.0Pocket PC仿真器上網224. 程序窗體設計以及源代碼24(1
2、)窗體設計24(2)具體實現源代碼24(3)查看執行后的效果27五、 實驗總結28實驗目的:以Sybase嵌入以及移動數據庫為實驗平臺,完成數據庫建表、數據查詢、數據同步等實驗,掌握課堂所講授的移動數據庫相關教學內容,熟悉Sybase移動數據庫使用方法和基本編程技能。實驗環境:SQL Anywhere 11Microsoft Visual Studio 2005WindowsMobile PocketPC5.0SDK(移動設備模擬仿真器)Microsoft ActiveSync 4.5(移動設備與PC連接)Virtual Machine Network Driver for Microsoft
3、 Device Emulator實驗內容:1、在Sybase ASA數據庫上,建立GSM網絡最小支撐數據配置數據庫,并作為統一數據庫。2、在統一數據庫上完成對網元數據的查詢、增、刪、改等操作。3、編寫數據管理應用程序,開發UltraLite客戶端,以UltrLite作為Mobilink同步服務器的客戶端(最好是多個客戶端),編寫同步腳本,完成數據的同步實驗:在一個客戶端上對數據進行增、刪、改操作,觀察統一數據庫、其他客戶端上數據的變化情況。在同一數據庫上對數據進行增、刪、改操作,觀察客戶端上數據的變化情況。實驗過程搭建MobiLink服務器要想搭建MobiLink服務器環境主要需要以下步驟:1
4、 創建統一數據庫2 創建發布3 創建統一數據庫的ODBC數據源4 創建同步版本號5 創建同步腳本6 創建同步用戶7 啟動MobiLink服務器搭建MobiLink客戶端需要以下步驟:1 創建UltraLite遠程數據庫2 創建同步表3 測試UltraLite同步1. 搭建MobiLink服務器1) 創建統一數據庫在Sybase ASA數據庫上建立GSM網絡配置數據庫,并作為統一數據庫。Sybase新建數據庫mobile,并按照要求建立相應的表。建立數據庫的過程如下:工具SQL Anywhere11創建數據庫,彈出創建數據庫向導對話框,單擊“下一步”繼續。輸入存放的路徑及數據庫名稱,本次實驗中為
5、F:mobile.db,如下圖所示:點擊下一步,一直保持默認設置,直到最后點擊完成,可以看到數據庫創建成功并連接上。在建立好的數據庫上面點擊右鍵,選擇“打開Interactive SQL”,如下圖所示:在彈出的界面中選擇文件菜單中的打開,然后選擇syncsa文件。然后運行這段代碼。至此,數據庫創建完畢。下面是創建數據表。以創建“小區基本信息表”為例1) 在mobile數據庫中創建communicate_data數據表,如圖所示:創建表的名稱是communicate_data,主鍵是CellID,在表中創建新的屬性列。2) 然后導入數據。右鍵單擊communicate_data表在Interac
6、tive SQL 中查看數據,然后單擊菜單欄中的“數據”,單擊 “導入”,如圖所示:選擇“文本文件中”,將數據復制到文本文件中然后導入,在“現有表中”選擇“制表符”導入數據后的結果如下:在統一數據庫上完成對網元數據的查詢、增、刪、改等操作查詢結果如圖所示:圖2-1插入結果如圖所示:刪除結果如圖所示更新結果如圖所示:2) 創建發布(publication)在mobile數據庫中,找到“發布”,右擊“發布”,選擇彈出菜單中的“新建”“發布”選項,如圖所示:單擊“發布”選項,彈出如圖所示界面:輸入創建的發布的名字及擁有該發布的用戶為DBA,如上圖所示,單擊“下一步”按鈕,彈出的界面,選擇“日志掃描”
7、,單擊“下一步”按鈕,彈出界面后在對話框中選擇communicate_data表,并將其添加到“所選表”列表框中。單擊“完成”按鈕,完成發布創建工作。3) 創建統一數據庫的ODBC數據源打開ODBC管理器,如下圖:在彈出的對話框中單擊“添加”按鈕。接著在彈出的對話框中選擇“SQL Anywhere 11”驅動程序,如圖所示:單擊“完成”按鈕,然后在彈出的對話框中輸入數據源名稱mobileds,如圖所示:在“登錄”選項卡中輸入用戶名和口令DBA/sql,數據庫名 mobile單擊“確定”按鈕完成創建,最后回到ODBC選項卡,單擊“測試連接”按鈕,測試ODBC連接是否可以正常工作,如圖所示,顯示“
8、連接成功”消息提示框,說明連接成功。4) 創建同步版本號右鍵單擊MobiLink 11,選擇新建項目,如圖所示:在彈出的界面中輸入項目的名稱:mobileproject,如下圖所示:單擊“下一步”按鈕,單擊“保存”,并單擊“下一步”,其他都是默認信息,直到最后單擊“完成”,右擊“版本”選項,然后在彈出的菜單中選擇“新建”菜單中的“版本”選項,如圖所示:在彈出的對話框中,輸入要創建的同步版本名稱,mlversion。如下圖所示:單擊完成按鈕,完成同步版本的創建工作。5) 創建表同步腳本在Sybase Central 中右擊“同步的表”選項,然后在彈出的菜單中選擇“新建”菜單中的“同步的表”選項,
9、如圖所示:單擊“同步的表”選項,在彈出的界面中選擇統一數據庫中的communicate_data表。單擊“完成”按鈕,右擊剛剛創建的communicate_data表,在彈出的菜單中選擇“新建”菜單中的“表腳本”選項,如圖所示:單擊“表腳本”選項,在彈出的界面中選擇mlversion版本,選擇“download_cursor”同步事件,如下圖所示:單擊“下一步”在彈出的對話框中選中“SQL”作為同步腳本語言。如下圖所示單擊“完成”,在腳本中填寫我們需要的語句,如下圖所示至此,download_cursor事件的同步腳本已經完成。接下來重復上述過程,分別對客戶端上傳刪除upload_delete
10、、上傳更新upload_update、上傳插入upload_insert進行同步腳本的編寫,各自的腳本如下所示:6) 創建同步用戶選擇MobiLink 11 中單擊“用戶”選項,選擇“新建”菜單中的“用戶”選項,如圖所示:單擊“用戶”選項,彈出如圖所示的界面:輸入用戶名稱,user1,單擊“下一步”按鈕,彈出如圖所示界面:輸入口令sql,單擊“完成”按鈕,完成用戶的創建工作。2. 搭建MobiLink客戶端1) 創建UltraLite遠程數據庫 如下圖所示,點擊創建數據庫。本次實驗中文件存放地點如圖所示,完成數據庫的創建。此外,我們還需要在這個UltraLite數據庫中創建一個與統一數據庫中的
11、表一樣的數據表,以看到同步效果。創建表的方法與統一數據庫中創建表的方法相同。(1)、建表2) 創建同步3) 測試同步啟動同步服務器,用命令行啟動方式:mlsrv11-c dsn=mobileds -dl -o cons1.txt -v+啟動后截圖如下:啟動同步數據庫同步后結果:多個客戶端同步需要統一數據庫作為中介,下圖是兩個客戶端的情況3. 搭建仿真器Windows Mobile 5.0 Pocket PC SDK(1)配置Windows Mobile 5.0Pocket PC仿真器上網1 在控制面板網絡連接本地連接右擊虛擬網絡驅動安裝成功2 配置Windows Mobile 5.0Pocke
12、tPC仿真器上網 通過vs2005的工具菜單打開“設備仿真器管理器”經過一系列配置,仿真器可以上網,如圖所示:利用前面所建立好的communicate_data統一數據庫,mobilink和Ultralite客戶端數據庫,利用C#對Ultralite進行增刪改操作(只實現了插入具體行的操作),添加相應的類庫,并調用相關的API函數進行同步操作。4. 程序窗體設計以及源代碼(1)窗體設計窗體設計如下(2)具體實現源代碼=主界面代碼=privatevoid sync_Click(object sender, EventArgs e) Cursor.Current = Cursors.WaitCur
13、sor;DBUtils.Synccommunicate ();Cursor.Current = Cursors.Default; privatevoid insert_Click(object sender, EventArgs e) Cursor.Current = Cursors.WaitCursor;DBUtils.add(789, bupt, KF, 141, 121.1392, 41.1216, 210,1);Cursor.Current = Cursors.Default;MessageBox.Show(添加成功!); privatevoid look_Click(object s
14、ender, EventArgs e) DataTable dt = DBUtils.GetInfo(); dataGridView1.Columns.Clear(); dataGridView1.DataSource = dt; =DBUlits類classDBUtils privatestaticULConnection GetDBConnection() ULConnection connection = null;try ULConnectionParms parms = newULConnectionParms(); parms.DatabaseOnDesktop = Constan
15、tLiterals.UDBFile; parms.DatabaseOnCE = ConstantLiterals.UDBFile; connection = newULConnection(parms.ToString(); connection.Open(); connection.DatabaseID = 100; catch (Exception e) / Messagebox.show(e.Message);throw e; return connection; privatestaticvoid SyncPublication(string publication) try ULCo
16、nnection conn = GetDBConnection(); conn.SyncParms.UserName = user1; conn.SyncParms.Password = sql; conn.SyncParms.Version = mlversion; conn.SyncParms.Stream = ULStreamType.TCPIP; conn.SyncParms.SendColumnNames = true; conn.SyncParms.StreamParms = host=localhost;port=2439;/int masks = 0;ULPublication
17、Schema schema = conn.Schema.GetPublicationSchema(publication);/conn.SyncParms .PUblicationMask. conn.Synchronize();MessageBox.Show(同步成功!); conn.Close(); catch (Exception e) /同步失敗thrownewException(e.Message); publicstaticvoid Synccommunicate() SyncPublication(ConstantLiterals.Publication); publicstat
18、icvoid add(int CellID,string BtsName,string AreaName,int LAC,double Longitude,double Latitude,int Direction,int Bcch) ULConnection conn = GetDBConnection();ULCommand cmd = conn.CreateCommand(); cmd.CommandText = insert into communicate_data(CellID,BtsName,AreaName,LAC,Longitude,Latitude,Direction,Bc
19、ch)values(?,?,?,?,?,?,?,?); cmd.Parameters.Add(, CellID ); cmd.Parameters.Add(, BtsName ); cmd.Parameters.Add(, AreaName ); cmd.Parameters.Add(, LAC ); cmd.Parameters.Add(, Longitude ); cmd.Parameters.Add(, Latitude ); cmd.Parameters.Add(, Direction ); cmd.Parameters.Add(, Bcch ); cmd.ExecuteNonQuer
20、y(); conn.Close(); publicstaticDataTable GetInfo() System.Data.DataSet ds = new System.Data.DataSet();ULConnection conn = GetDBConnection();ULCommand cmd = conn.CreateCommand(); cmd.CommandText = select * from communicate_data;using (ULDataAdapter adapter = newULDataAdapter(cmd) adapter.Fill(ds, com
21、municate_data); conn.Close();return ds.Tables0; =ConstantLiterals=classConstantLiterals / private const string udbFile = Program Filemymobileremotedb.udb;privateconststring udbFile = C:Documents and SettingsAdministratorumobile.ubd.udb;/C:UsersYancun LeeDocumentsVisual Studio 2005Projectsmymobilemymobileremotedb.udbprivateconststring publication = communicate_data_pub;privatestaticstring username = user1;publicstaticstring UserName get return username;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年的建筑工程合同范本
- 2025商業貸款購房合同范本
- 雇用費合同協議
- 門店股東協議合同協議
- 食用品采購合同協議
- 預付訂金定金合同協議
- 門店轉讓上海合同協議
- 門診采購合同協議模板
- 露營基地合作協議合同
- 長期運輸安全合同協議
- 北京2025年中國環境監測總站招聘(第二批)筆試歷年參考題庫附帶答案詳解
- “皖南八校”2024-2025學年高一第二學期期中考試-英語(譯林版)及答案
- 防洪防汛安全教育知識培訓
- 安寧療護人文關懷護理課件
- 商場物業人員缺失的補充措施
- 黑龍江省齊齊哈爾市龍江縣部分學校聯考2023-2024學年八年級下學期期中考試物理試題【含答案、解析】
- 《尋常型銀屑病中西醫結合診療指南》
- 2024-2025學年成都高新區七上數學期末考試試卷【含答案】
- 定額〔2025〕1號文-關于發布2018版電力建設工程概預算定額2024年度價格水平調整的通知
- “記憶中的人、事兒”為副標題(四川眉山原題+解題+范文+副標題作文“追求”主題)-2025年中考語文一輪復習之寫作
- 2024年企業員工研發補貼協議范本模板3篇
評論
0/150
提交評論