轻松教会您VS2003数据库的使用与维护步骤
创始人
2024-06-13 09:01:30
0

原来上网我下了很多VS2003数据库的Demo。而我用的是VS2005,我在使用这些小样时,基本上绝大部分基于VS2003的Asp.net工程都因为少数文件无法转换而无法加载工程,为此我也苦恼很久,后来终于让我找到了解决VS2003数据库的办法。

程序中这样写:

  1. MyConn = new OleDbConnection(System.Configuration.ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"]); // 

注释一下:VS2005和VS2003中的ConfigurationSettings写法不一样,具体区别自己查吧

这样程序运行时经常提示诸如以下的错误:

C:\WINDOWS\system32\~\App_Data\Data.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 Data Source=~\App_Data\Data.mdb
就算用绝对路径正确,那么移植程序时还要去修改web.config,所以比较麻烦。

也有在web.config中使用象ASP那样的Server.MapPath取数据库路径的,但web.config不认识Server.MapPath,此方法也行不通。

后来通过摸索、参考其它程序,总结出如下方法,可以方便的移植程序路径而不必再去修改VS2003数据库路径。
最近在学习这方面的东西,现把有关心得写出来,供象我这样的初学者参考,以免花一些时间。

一、安装平台

如果你想在Mobile上使用的数据库从来不会与PC上的数据交流、同步,那有些东西可以选择Express版。但这样的情况很少,所以以下这个步骤还是照做的好,反正它的坏处只是占用一些硬盘空间和较多一点点的资源。
 
1、Visual Studio 2005。只有它才能开发WM5.0的应用程序(VS2003的好象不能吧)。BT、eMule都可以下载到中文版的VS2005,除非你E文好,否则还是选择中文版的吧。
2、SQL Server 2005 开发者版。这个也有中文版的,BT上可以下载。我装过企业版的,但好象没办法启动数据库引擎,所以还是开发者版吧。不要装那个Express吧,与它相配的Managment Studio Express版不支持同时建立SQL Server和SQL Mobile联接,在做发布和订阅时很不方便。给客户时装Express版还可以,自己就不要啦,毕竟功能弱了不方便开发。完整版SQL 2005自带的Managment Studio就很方便使用了,用过就知道了。
3、SQL Server 2005 Mobile Server Tools。这个可以不用下载,你在Managment Studio那里选择建立SQL Server Mobile的联接时,它检测到你没装时,会自动安装。
4、ActiveSyn。这个最新的是4.1,也有中文版的。不安装它,你没办法调试你的WM5.0程序。
5、Smartphone 5.0模拟器。这个也有中文版,不安装它,你也没办法调试你的WM5.0程序。#t#

以上五项,装好后就可以写WM5.0程序了。
硬件方面,512M内存不够用的,会经常读盘,我NB上的768M就好多了。CPU要快点,布置模拟器时CPU是满载的。

二、数据准备

我刚开始时,为了得到一个SQL Mobile的数据库,又不想自己增加数据,而是想利用原用的SQL Server数据,花了好多时间,学会了SQL Server里面的“发布”和“订阅”功能,从而得到一个我想要的SDF

1、为SQL Server中的数据库(*.mdf)建立发布。这里要注意几点:首先要求安装IIS,其次数据库的名称不要带一些不能在文件名中出现的标点符号,我就是因为这一点花了三晚的时间才查出来。

2、为SQL Mobile中的数据库(*.sdf)建立订阅。只要发布正确建立,这个订阅也就可以顺利建立。当订阅建立后,MDF中的数据就会自动的跑到SDF中去了。这里要注意一点的是,MDF中有些字段SDF是不支持的,在同步之前要事先调整好。
这个准备的过程帮助文件里有,名为《使用 SQL Server Mobile 创建移动应用程序》,为了方便,我在下面贴出来。

三、开发程序

有了平台,有了数据,就可以开始工作啦。祝各位学习愉快。

我在web.config中的写法如下:

  1.  
  2.  key="SQLConnString" value="provider=microsoft.jet.oledb.4.0;data source="/> 
  3.  key="dbPath" value="~/App_Data/mydata.mdb"/> 
  4. appSettings> 

VS2003数据库程序中的访问类我把"SQLConnString"和"dbPath"取出来连接成一个字符串"CONN_STRING_NON_DTC"
public static readonly string CONN_STRING_NON_DTC = System.Configuration.ConfigurationManager.AppSettings["SQLConnString"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]) + ";";

这是VS2005中的写法

我把CONN_STRING_NON_DTC定义成static readonly是为了使用方便。
好了,这样就可以随便移植你的程序而不用关心数据库的路径了,一劳永逸啊,适合我这样的懒人!

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...