您的位置:首页 > 数据库 > MySQL

windows mobile+webservice+mysql

2012-05-07 15:13 375 查看
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,/article/5079325.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: