如何选择正确的SQL Server Compact安装包
SQL Server Compact的安装包由三部分功能组成,并且区分CPU平台和操作系统平台,初学者往往不知道如何去区分它们。本文将对SQL Server Compact的安装包进行介绍,让你知道如何区分和选择它们。
如果你是使用Visual Studio 2005/2008开发.NET Compact Framework应用程序,并在程序中用到了SQL Server Compact数据库,Visual Studio在向设备(或仿真器)部署你的程序时,会自动将SQL Server Compact一同部署上去。如果你开发的是Native Code的应用程序,就需要自己手动部署SQL Server Compact安装包了。另外,在给最终用户的设备部署应用程序时,也是需要自己手动部署SQL Server Compact的。
SQL Server Compact的安装包存放在以下位置,我们暂称为安装包“根目录”:
版本号 路径
3.0/3.1 %Program Files%\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v3.0
3.5 %Program Files%\Microsoft SQL Server Compact Edition\v3.5\Devices
根目录下有wce400和wce500两个子目录,分别存放着以Windows CE 4.0和Windows CE 5.0为内核的操作系统平台的安装包。Windows Mobile 2003和Windows CE 4.0版本的SQL Server Compact安装包在wce400目录下;Windows Mobile 5.0/6.0/6.1和Windows CE 5.0/6.0的SQL Server Compact安装包在wce500目录下。
目录 平台
wce400 Windows Mobile 2003, Windows CE 4.0
wce500 Windows Mobile 5.0/6.0/6.1, Windows CE 5.0/6.0
打开wce500目录,可以看到一些以处理器名称命名的子目录,目录名分别为armv4i, mipsii, mipsii_fp, mipsiv, mipsiv_fp, sh4和x86。Windows Mobile设备的CPU一般都属于armv4i,Windows CE则要看具体的硬件。
打开armv4i目录,可以看到一些.cab文件。下面表格就以SQL Server Compact 3.5为基础描述了每个安装包文件的功能和适用平台:
安装包 平台 功能 其中ppc: pocket pc phone :smartphone
----------------- Engine -----------------------------
sqlce.wce5.armv4i.CAB Windows CE Engine
sqlce.ppc.wce5.armv4i.CAB Windows Mobile Pocket PC Engine
sqlce.phone.wce5.armv4i.CAB Windows Mobile Smartphone Engine
----------------- Merge Replication -----------------------------
sqlce.repl.wce5.armv4i.CAB Windows CE Merge Replication
sqlce.repl.ppc.wce5.armv4i.CAB Windows Mobile Pocket PC Merge Replication
sqlce.repl.phone.wce5.armv4i.CAB Windows Mobile Smartphone Merge Replication
----------------- Query Analyzer -----------------------------
sqlce.dev.CHS.wce5.armv4i.CAB Windows CE Query Analyzer
sqlce.dev.CHS.ppc.wce5.armv4i.CAB Windows Mobile Pocket PC Query Analyzer
sqlce.dev.CHS.phone.wce5.armv4i.CAB Windows Mobile Smartphone Query Analyzer
从上表可以看出,SQL Server Compact的安装包分为Engine, Merge Replication和Query Analyzer三部分功能,每部分功能又分Windows CE, Windows Mobile PocketPC和Windows Mobile Smartphone三种操作系统平台。因此armv4i目录下面会有9个.cab安装包。在很多情况下,只需要安装Engine就够了;如果你需要让SQL Server Compact支持RDA或Merge Replication数据同步功能,就要再安装Merge Replication组件;如果你想要在设备上直接使用查询分析器创建、打开、查询SQL Server Compact数据库,或者在设备上调试程序,那就要再安装Query Analyzer组件。也就是说,Engine组件是必选的,Merge Replication和Query Analyzer组件是可选的。
每个组件安装包里面包含了不同的文件,在下表中列出:
安装包 包含文件
sqlce.platform.processor.cab sqlcese.dll
sqlceqp.dll
sqlceme.dll
System.Data.SqlServerCe.dll
sqlce.repl.platform.processor.cab sqlceca.dll
sqlceoledb.dll
sqlcecompact.dll
sqlce.dev.lang.platform.processor.cab isqlw.exe
sqlceerrlang.dll
如果你的设备安装了SQL Server Compact后,不能正常运行,尝试检查一下是否安装了错误的版本?
代码如何操作SQL Server Compact 的数据文件?
1. 引用System.Data.SqlServerCe
2. 打开代码 数据文件是在应用 程序的更目录下:
string appPath =System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
string connectionString = "Data Source=" + appPath + "\\test.sdf;Password =`12qwe";
SqlCeConnection sqlConn = new SqlCeConnection(connectionString); sqlConn.Open();
其他的 还有SqlCeCommand,SqlCeDataReader等数据库操作对象。
