windows mobile+webservice+mysql


windows mobile已經沒落,但由於公司需要,還要進行一個新平台的學習,symbian,meego,wp7,php一路下來,16個月做了5個平台,學到了皮毛但接觸到很多方面和層次的技術知識。

windows mobile連接mysql數據庫,用webservice作為wm平台客戶端和服務端進行遠程操作數據庫的途徑。

開發環境不用多說

1.vs2008+windows mobile professional 6.0 sdk,具體操作請看本博客中windows mobile標簽中有關搭建開發環境的博文。

剛開始嘗試連接sql server數據庫,第一步中遇到的問題,報錯是.net compact framwork 3.5和sql server compact 3.5有關的問題,或者在vs2008連接sql server數據庫的時候

選項中未出現選中的sql server compact 3.5,此時需要卸載和重新安裝.net compact framwork 3.5和sql server compact 3.5組件,我是卸載安裝了了一遍又一遍,再加上拷貝別人的Microsoft Visual Studio 9.0整個文件夾覆蓋了自己電腦上的Microsoft Visual Studio 9.0,解決此問題。

 

2.安裝mysql數據庫。

安裝mysql數據庫需要注意端口的問題,比如xapp和phpnow默認安裝mysql數據庫,選擇不同的端口,或者從服務中停止和啟動mysql數據庫即可。

3.安裝IIS 5.1,發布網站。

安裝過程中出現過IIS卡死在啟動的時候,刪除了IIS,然后在安裝,6.0和5.1版本反復安裝了兩三遍,解決了此問題,應該是端口被占用,更深層次的問題我也不是很清楚了,網上有下載IIS 5.1的包的,具體安裝過程請查看本博客中有關IIS安裝的博文。

4.vs2008中新建wm智能項目,從連接sql server數據庫開始測試wm平台操作數據庫的內容,使用sqlconnection類進行數據庫的讀寫,sql server 2005+webservice+wm,程序研發中需要下載sql server圖形界面管理工具,方便進行權限的修改和新建之類的問題,navicate和sql server management studio express都挺好,用后者時需要進行相關的配置,尤其是登錄和權限還有新建用戶的問題,首先需要windows驗證的方式進入管理,創建用戶,通過屬性給其賦予相關的權限,然后才可以用新建的用戶名和密碼在程序中進行連接sql server進行相應權限的操作。其中安全性-登錄名右鍵屬性-登錄屬性,也就是下面這個界面是很重要的內容,想要在sql server上做程序的需要研究好這里的知識。

其中的服務器角色,用戶映射,和分配用戶的權限都要通過windows驗證來修改,然后通過sql server身份驗證登錄的時候就可以進行相應權限的操作了。

5.資源管理器中新建webservice,新建的是web服務,不是網站,

注意在智能設備項目中引入webservice的時候,需要先生成一下webservice,並且發布為web應用,不然后面引入webservice引用的時候會報錯,這時在webservice項目中引入sqlconnection有關的引用和using之后就可以寫一些操作數據庫的method了,如果操作的是mysql數據庫,需要首先下載好mysql.data.dll,引入到webservice項目中,這是運行的時候還會報錯,需要下載mysql-connector-net-6.5.4.msi,之后測試寫的程序是否正確直接運行,在瀏覽器里查看就可以了,需要wm控件來顯示的在運行智能設備項目的時候,需要修改web refrence中的localhost(引用的webservice的名字,你自己自定義的,默認是localhost)Refrence.cs的localhost代碼為本機的內網ip這時候運行才會成功。

6.在智能設備項目中引入了webservice之后,比如你引入的時候設置的名字為默認的localhost,那么直接當一個命名空間進行定義類對象就可以了,記住操作數據庫的代碼要房子webservice中進行,每一次在webservice中修改之后,都需要生成一下,然后在智能設備項目中更新web引用,然后修改web引用生成的Refrence.cs中的url中的localhost為本機內網ip,然后再進行調試。

7.將webservice項目發布到IIS網站,右鍵發布選擇路徑,IIS默認為C:\Inetpub\wwwroot目錄,那么發布之后就會把webservice相關的文件發布到了這個路徑下面,此時需要打開IIS對此網站進行權限的修改,可以設置匿名訪問的用戶為administrator,或者aspnet,還需要將webservice的bin目錄下的文件賦值到C:\Inetpub\wwwroot\bin目錄里面,這樣在IIS瀏覽的時候才會找到webservice有關的編譯內容,不然也會報找不到一些東西的錯誤。還有一點就是在發布之前要刪除web.config文件中的一行代碼:<authentication mode="Windows"/>,如果報錯 

 名稱以無效字符開頭。處理資源 'http://192.168.0.22/JyWebService/Service.asmx' 時出錯。第 1 行,位置: 2     <%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" class="Service" %> -^ 

 

是因為服務器上需將ASP.net注冊到IIS中。解決方法:

命令行窗口中輸入“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i”。

安裝asp.net的時候需要將IIS停止。

8.在IIS瀏覽webservice的時候如果成功了,就可在智能設備資源管理器中刪除webservice項目,然后重新打開一個vs2008單獨進行webservice的研發,發布等內容,然后在智能設備項目中引入webservice的refrence的時候在本電腦中搜索webservice而不是本資源管理器中,引入之后還需要把Refrence的localhost代碼改為內網ip,這個時候又可以正常進行wm+mysql+webservice的研發了。

 

相關內容參考鏈接:http://blog.csdn.net/xhx8035207/article/details/6023816

http://youmeetmehere.blog.163.com/blog/static/61797719201122410364540/

http://space.itpub.net/12639172/viewspace-664113

http://blog.csdn.net/lyqchina/article/details/5825934

http://blog.chinaunix.net/uid-20178662-id-1973131.html

 

轉載請注明出處:Edward_jie,http://www.cnblogs.com/promise-7/archive/2012/05/07/2487454.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM