在EVC4.0下使用ADOCE3.1访问WCE4.1平台下的SQL数据库
1.目标平台的配置
1.1方法一
第一步:安装SQL CE2.0
在PC机上安装后,在:安装路径\Microsoft SQL Server CE 2.0\Device下选择对应的平台,将目录下的如下文件拷贝到目标平台下,运行dllregister进行注册:
dllregister.exe
isqlw20.exe
rootcert.exe
ssce20.dll
ssceca20.dll
ssceerror20en.dll
ssceerror20jp.dll
第二步:安装ADOCE31
在如下地址下载ADOCE3.1组件安装包:(有ARM,X86,MIPS,SH3平台下的ADOCE3.1的安装包,下载后将与目标平台一致的安装包拷贝到目标平台上安装即可,注意,安装完毕会自动删除安装包,故请先做备份
1.2方法二
第一步:安装SQL CE2.0
如方法一一样,只是不要运行dllregister.exe安装。
第二步:安装ADOCE31
一.将ADOCE3.1组件和SQLCE2.0组件安装到目标平台下
2.数据库修复和压缩整理
http://support.microsoft.com/kb/306452/zh-cn该文档详细描述了用精简方法使用eVC++中OLE DB Application。但它存在好多问题。对照如下网址我们可看到:
总结如下:
1.The new header file, Ssceoledb.h is an integration of the Oledb.h file, the Oledb.lib file, and the previous ssceoledb.h file.(该文件可从上文件中下载)
2.使用新的ssceoledb.h文件之后,按照如下步骤即可:
a.Remove all references to the Oledb.h file by removing the "#include " line from the application's source files.
b.Remove the Oledb.lib file from your link libraries list. (在ppc2003下没有oledb.lib,如果用老版本的ssceoledb.h,就得从link下另外添加)
c.Remove symbols like DBINITCONSTANTS, OLEDBVER, and INITGUID from your source code.
d.Make sure that you include the Ole32.lib, Oleaut32.lib, and the Uuid.lib files in your link library list under Project Settings.
e.Make sure to call the following function before calling these OLE DB methods:
CoInitializeEx(NULL, COINIT_MULTITHREADED);
尤其是ppc2003默认下是ARM下ssceoledb.h的文件(引用头文件的时候要注意它在当前的位置)。导致了模拟器无法调用??
在stdAfx.h增添:#include "ssceoledb.h"
总结一点:做事不能操之过急,要整好逻辑。头文件的引用不是越多,不代表着多就可以包含一切。
程序是设计的,用语言描述一件事情一样。
静下来心来思考问题。什么都一样。