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数据库的时候

windows mobile+webservice+mysql选项中未出现选中的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身份验证登录的时候就可以进行相应权限的操作了。

windows mobile+webservice+mysql

5.资源管理器中新建webservice,新建的是web服务,不是网站,

windows mobile+webservice+mysql

注意在智能设备项目中引入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这时候运行才会成功。

windows mobile+webservice+mysql

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

相关文章: