有没有办法实现在PC上安装sqlce,然后通过程序将sqlserver2000上的数据插入到ce数据里,然后再复制到设备上(因为有10W条左右的数据,在设备上执行这样的操作时间太长),请大侠们帮忙,最好有详细的方案
好像不行吧,这是两种数据库阿,格式都不一样哦。 除非做一个中间接口。
应该来说不可以的,这是两种不同的数据库了。格式都不一样。
有一种方案可以考虑,在PC机上做一个小软件,通过这个小软件将2000下的数据读出,利用SQLite写入到SQLite数据库里。
然后将SQLite数据库拷贝到设备上,在CE下实现SQLite数据库访问。
在PC上面写一个程序,将sql 2000中的数据读出来,写入到PC上面的一个空的sqlce数据库中(需要调用sqlce的动态链接库,所以需要在PC端装SQL 2005 Server Express Edition,若使用vs2005开发的话可免),再调用api函数,将sqlce数据库copy到PDA上
我说的就是通过小程序来实现啊,现在的问题是操作不了ce数据库.比如说:
string dataStr = @"DataSource=c:\aa.sdf";
SqlCeEngine ceEngine = new SqlCeEngine(dataStr);
ceEngine.CreateDatabase();
上面也导入了System.data.sqlserverce
启动程序时报错:
未能加载文件或程序集“System.Data.SqlServerCe, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
按照这篇文章中的说是可以实现的
http://www.cnblogs.com/upto/archive/2007/07/29/sqlce-data-import.html
不知是哪边出了问题?
对 SqlServerCe 加入了签名,然后被应用程序调用,编译可以通过,程序能够运行,就是在调用SqlServerCe 的时候就出错。
解决办法 在App.Config中,修改PublicKeyToken=null为PublicKeyToken=你的公钥标记
顺便再问个问题,wince4.2 上能不能用sqlce3.1或以上的版本啊
1)用个PDA的程序执行。
2)不过,把sdf的SQL CE拷到PC上,写个PC端的程序也可以。
这两种方法都可以。
楼主要敢于自主动手尝试和写程序。
问一下,上面占华说的:在App.Config中,修改PublicKeyToken=null为PublicKeyToken=你的公钥标记
这个文件在哪,我的visual studio 2005中找不到?