SQL Server CE 开发前准备[转]

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

 
SQL Server CE 开发前准备
作者:ericzhen   来源:joycode.com   时间:2004年9月11日 4:56   阅读4023
 

SQL Server CE 2.0的全名是SQL Server 2000 Windows CE Edition version 2.0。2002年秋天就有了,那时候也正好是.NET Compact Framework刚刚出来的时候。那时候就想研究研究,但因为实际需求太少、没有人问问题、没人有做项目,所以就一直扔着。

不过随着Pocket PC/Windows Mobile越来越被人熟悉,一些实际需求也就带动出来了。典型的需求是Field Service。现在很多Field Service仍然是依赖纸张,做不到全部电子化。

例子1:公司派人去仓库验货、点货,可以把清单同步到Pocket PC上,然后在仓库里面直接在PPC上面update,回到公司一同步就可以了。否则按照原先做法,需要先打印一张清单,回来以后再录入一遍。

例子2:联想派人上门来修电脑,以前总是带着一张打印出来的派工单,维修晚了以后维修的人填写维修记录,然后让客户签字。这样做,一则是纸质派工单的档案管理很麻烦,二则维修记录等停留在纸上,如果想用作知识管理、Business Intelligence等更多分析用途,还需要再找人输入。如果能把派工单同步到Pocket PC里面,在现场直接填写记录以及让客户签字,回来一下子同步到服务器上,就方便多了。

所以,前两天下定决心把SQL CE摸了一下,写了一些心得。如果没有摸过SQL CE但也想了解一下,看我这些心得应该可以解决大部分常见的对于SQL CE的问题。

1. SQL CE的架构


 

首先要回答的问题是“SQL CE是什么”。简单的说,SQL CE就是运行在Pocket PC以及其他Windows CE平台上的一个很简化的SQL Server 2000/7.0。之所以说是“简化”的,因为它支持的功能少、数据类型比较少、周边工具也少。除了运行在Device上的部分以外,SQL CE还带了一套开发包(就是Sqlce Data Provider),以及SQL CE Server Tool用来连接服务器上的SQL Server 2000/7.0:

310-36328.png

开发时,可以用VS.NET或者eVB/eVC来开发。如果用eVB/eVC开发,就用ADOCE 3.1;如果用.NET开发,就用.NET Compact Framework以及SQL Server CE Data Provider,用法基本上和原先的ADO.NET没啥太大的区别:

310-37890.png

运行时,SQL CE的感觉就好像是SQL Server 2000/7.0的一个副本,SQL CE应用程序本身在Pocket PC上会占用1-3MB空间,另外数据回存放在后缀名为.sdf的文件中(和SQL2K中的mdf文件同样的角色)。用户在Pocket PC上做的操作都先发生在SQL CE上,然后再时不时地和SQL Server 2000/7.0同步(Replication)。当然,也可以用RDA(Remote Data Access)的方式,直接让数据操作发生在SQL Server 2000/7.0上。

这里一个有意思的地方是无论用Replication还是RDA,移动设备访问SQL Server 2000/7.0时必须通过IIS进行,不知道这个设计是否考虑了Web Server会放在DMZ里面而SQL会放在Internal的原因:

310-37953.png

2. SQL CE的安装


 

如果我没有记错的话,SQL Server CE 2.0是免费的,只要有SQL2K Standard/Enterprise的License,就可以下载安装使用。不过如果做商业开发,最好再核实一下。

有兴趣的可以在http://www.microsoft.com/sql/ce/downloads/ce20.asp下载SQL Server CE 2.0的安装文件,大概40多兆。下载好以后,安装之前还要准备一下这些:VS.NET 2003,SQL Server 2000 SP1 or Higher,IIS。安装的步骤是:

a) 在开发环境上安装SQL CE。

主要是安装Sqlce Data Provider的Assembly,以及后面两步安装需要的安装文件。安装的方法是直接运行下载下来的Setup.exe,一路Next就可以了。需要有VS.NET 2003。安装好以后效果是这样的:

310-38453.png

310-38609.png

b) 在IIS上安装SQL CE Server Tool,并配置连接SQL Server 2000数据库。

如果SQL Server 2000是SP1或者SP2,这一步可以用C:\Program Files\Microsoft SQL Server CE 2.0\Redist\Server下的文件安装。如果装了SP3,可以到http://www.microsoft.com/sql/ce/downloads/sp3.asp下载安装文件。

安装好了以后要配置IIS和SQL Server 2000之间的连接。配置成这样就可以了:

310-38671.png

这一步,如果SQL Server上面没有创建过Publisher,还需要马上创建一个。Snapshot folder等目录的权限最好放宽些,免得将来出错。

c) 最后,在Pocket PC上安装。

其实,这步不需要自己来做。VS.NET 2003在Deploy项目的时候自动会安装的。当然,如果需要手工安装,可以用C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\下的文件安装,其中包括了数据库引擎、Query Analyzer等。我的Pocket PC是iPAQ 1940,系统是中文的PPC 2003,我用的安装文件是那个目录下的wce400\armv4\子目录。其他平台不太清楚。

这些都做完了,SQL CE的安装也就OK了。

3. 移动IBuySpy的实例


 

SQL CE 2.0自带了一些很好的实例,例如IBuySpy Delivery Application。IBuySpy是一个.NET的电子商务网站的demo solution,而这个IBuySpy Delivery Application是在此之上做的一个供销售人员用的移动办公工具。销售可以拿着Pocket PC到处接订单,然后回到公司以后同步到IBuySpy的数据库中。很典型的Field Service。

IBuySpy的安装路径是C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Samples\VB\Pocket PC\IBuySpyDelivery。不难装,一路Next就可以了,有Wizard,安装程序会把服务器上的数据库也Setup好,还会把Client发布到Pocket PC上(发布Client需要VS.NET 2003)。

下面是一些Pocket PC上的Screenshot,没摸过的兄弟看了就有感性认识了:

a) SQL CE在Device上存在形式是一个.sdf文件

310-38859.png

b) SQL CE也有Query Analyzer

310-38921.png

c) 和SQL Server 2000同步

310-38953.png

d) IBuySpy例子提供的一个签名控件真不错,会转换成Bit Array存储在数据库中

310-38984.png

上面这些心得,也可以在http://eric.tanqi.com/SQLCE/SQLServerCE.zip下载到,这是一个PPT文件。

很快SQL Server Mobile Edition也要出来了,跟着VS.NET 2005和Yukon一起,应该算是SQL CE 2.0的下一个版本。粗粗看了一眼,好像提供了Synchronization的进度API,这样就可以显示一个同步的进度条了。


http://www.biplip.com/default.aspx?mid=348&ctl=View&ItemId=310



本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/sgsoft/archive/2007/08/11/852186.html,如需转载请自行联系原作者
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
8天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
18天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
16 0
|
8天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
66 6
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
12天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
14 1
|
25天前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数
|
1月前
|
SQL 关系型数据库 API
Star 4.7k!高效SQL Parser!纯Python开发!自称目前最快的纯Python SQL解析器!
Star 4.7k!高效SQL Parser!纯Python开发!自称目前最快的纯Python SQL解析器!
|
1月前
|
SQL 存储 数据库
数据安全无忧,SQL Server 2014数据库定时备份解密
数据安全无忧,SQL Server 2014数据库定时备份解密
|
1月前
|
SQL 网络协议 Windows
破解SQL Server迷局,彻底解决“管道的另一端无任何进程错误233”
破解SQL Server迷局,彻底解决“管道的另一端无任何进程错误233”