windows mobile+webservice+mysql
windows mobile已經(jīng)沒落,但由于公司需要,還要進(jìn)行一個新平臺的學(xué)習(xí),symbian,meego,wp7,php一路下來,16個月做了5個平臺,學(xué)到了皮毛但接觸到很多方面和層次的技術(shù)知識。
windows mobile連接mysql數(shù)據(jù)庫,用webservice作為wm平臺客戶端和服務(wù)端進(jìn)行遠(yuǎn)程操作數(shù)據(jù)庫的途徑。
開發(fā)環(huán)境不用多說
1.vs2008+windows mobile professional 6.0 sdk,具體操作請看本博客中windows mobile標(biāo)簽中有關(guān)搭建開發(fā)環(huán)境的博文。
剛開始嘗試連接sql server數(shù)據(jù)庫,第一步中遇到的問題,報錯是.net compact framwork 3.5和sql server compact 3.5有關(guān)的問題,或者在vs2008連接sql server數(shù)據(jù)庫的時候
選項中未出現(xiàn)選中的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數(shù)據(jù)庫。
安裝mysql數(shù)據(jù)庫需要注意端口的問題,比如xapp和phpnow默認(rèn)安裝mysql數(shù)據(jù)庫,選擇不同的端口,或者從服務(wù)中停止和啟動mysql數(shù)據(jù)庫即可。
3.安裝IIS 5.1,發(fā)布網(wǎng)站。
安裝過程中出現(xiàn)過IIS卡死在啟動的時候,刪除了IIS,然后在安裝,6.0和5.1版本反復(fù)安裝了兩三遍,解決了此問題,應(yīng)該是端口被占用,更深層次的問題我也不是很清楚了,網(wǎng)上有下載IIS 5.1的包的,具體安裝過程請查看本博客中有關(guān)IIS安裝的博文。
4.vs2008中新建wm智能項目,從連接sql server數(shù)據(jù)庫開始測試wm平臺操作數(shù)據(jù)庫的內(nèi)容,使用sqlconnection類進(jìn)行數(shù)據(jù)庫的讀寫,sql server 2005+webservice+wm,程序研發(fā)中需要下載sql server圖形界面管理工具,方便進(jìn)行權(quán)限的修改和新建之類的問題,navicate和sql server management studio express都挺好,用后者時需要進(jìn)行相關(guān)的配置,尤其是登錄和權(quán)限還有新建用戶的問題,首先需要windows驗證的方式進(jìn)入管理,創(chuàng)建用戶,通過屬性給其賦予相關(guān)的權(quán)限,然后才可以用新建的用戶名和密碼在程序中進(jìn)行連接sql server進(jìn)行相應(yīng)權(quán)限的操作。其中安全性-登錄名右鍵屬性-登錄屬性,也就是下面這個界面是很重要的內(nèi)容,想要在sql server上做程序的需要研究好這里的知識。
其中的服務(wù)器角色,用戶映射,和分配用戶的權(quán)限都要通過windows驗證來修改,然后通過sql server身份驗證登錄的時候就可以進(jìn)行相應(yīng)權(quán)限的操作了。
5.資源管理器中新建webservice,新建的是web服務(wù),不是網(wǎng)站,
注意在智能設(shè)備項目中引入webservice的時候,需要先生成一下webservice,并且發(fā)布為web應(yīng)用,不然后面引入webservice引用的時候會報錯,這時在webservice項目中引入sqlconnection有關(guān)的引用和using之后就可以寫一些操作數(shù)據(jù)庫的method了,如果操作的是mysql數(shù)據(jù)庫,需要首先下載好mysql.data.dll,引入到webservice項目中,這是運行的時候還會報錯,需要下載mysql-connector-net-6.5.4.msi,之后測試寫的程序是否正確直接運行,在瀏覽器里查看就可以了,需要wm控件來顯示的在運行智能設(shè)備項目的時候,需要修改web refrence中的localhost(引用的webservice的名字,你自己自定義的,默認(rèn)是localhost)Refrence.cs的localhost代碼為本機(jī)的內(nèi)網(wǎng)ip這時候運行才會成功。
6.在智能設(shè)備項目中引入了webservice之后,比如你引入的時候設(shè)置的名字為默認(rèn)的localhost,那么直接當(dāng)一個命名空間進(jìn)行定義類對象就可以了,記住操作數(shù)據(jù)庫的代碼要房子webservice中進(jìn)行,每一次在webservice中修改之后,都需要生成一下,然后在智能設(shè)備項目中更新web引用,然后修改web引用生成的Refrence.cs中的url中的localhost為本機(jī)內(nèi)網(wǎng)ip,然后再進(jìn)行調(diào)試。
7.將webservice項目發(fā)布到IIS網(wǎng)站,右鍵發(fā)布選擇路徑,IIS默認(rèn)為C:\Inetpub\wwwroot目錄,那么發(fā)布之后就會把webservice相關(guān)的文件發(fā)布到了這個路徑下面,此時需要打開IIS對此網(wǎng)站進(jìn)行權(quán)限的修改,可以設(shè)置匿名訪問的用戶為administrator,或者aspnet,還需要將webservice的bin目錄下的文件賦值到C:\Inetpub\wwwroot\bin目錄里面,這樣在IIS瀏覽的時候才會找到webservice有關(guān)的編譯內(nèi)容,不然也會報找不到一些東西的錯誤。還有一點就是在發(fā)布之前要刪除web.config文件中的一行代碼:<authentication mode="Windows"/>,如果報錯?
?
是因為服務(wù)器上需將ASP.net注冊到IIS中。解決方法:
命令行窗口中輸入“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i”。
安裝asp.net的時候需要將IIS停止。
8.在IIS瀏覽webservice的時候如果成功了,就可在智能設(shè)備資源管理器中刪除webservice項目,然后重新打開一個vs2008單獨進(jìn)行webservice的研發(fā),發(fā)布等內(nèi)容,然后在智能設(shè)備項目中引入webservice的refrence的時候在本電腦中搜索webservice而不是本資源管理器中,引入之后還需要把Refrence的localhost代碼改為內(nèi)網(wǎng)ip,這個時候又可以正常進(jìn)行wm+mysql+webservice的研發(fā)了。
?
相關(guān)內(nèi)容參考鏈接: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
?
轉(zhuǎn)載請注明出處:Edward_jie,http://www.cnblogs.com/promise-7/archive/2012/05/07/2487454.html
轉(zhuǎn)載于:https://www.cnblogs.com/promise-7/archive/2012/05/07/2487454.html
總結(jié)
以上是生活随笔為你收集整理的windows mobile+webservice+mysql的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp:HyperLink中 Eval要
- 下一篇: MySQL计划任务3(转)