有没有办法让sqlce3.5和4.0在C#项目中共存

时间:2014-05-06 08:58:40

标签: c# sql-server-ce

目前,我需要将我的数据库从sqlce4.0降级到sqlce3.5以便我们的应用程序发送给消费者,我找到了一个帖子Downgrade SQL CE from 4 to 3.5?,它基本上符合我的要求,除了两个解决方案都需要用户的干扰。理想情况下,我想编写一个小工具来实现这一目标,使这种转换自动(即对用户没有任何干扰)。所以我的想法是:     1.因为我知道这个DB的模式,所以我先创建一个sqlce3.5空DB     2.然后同时打开旧的sqlce4.0 DB和新的sqlce3.5 DB,然后从sqlce4.0 DB中按表查询记录表并将它们插入到新的sqlce3.5 DB中。听起来不错,但是当我尝试使用C#项目时,它似乎只能添加一个sqlce assebmly引用(V3.5或V4.0)。我知道建议命名空间污染是有意义的。但是我该如何解决呢?     3.或者如果我必须将数据导出到sql文件然后将其导入sqlce3.5 DB?如果有一些控制台实用程序支持将sql数据导入sqlce3.5 DB。我要求控制台实用程序的原因只是因为我想自动导入它,而不是像我上面提到的那样无干扰用户。

 Thanks in advace for your answer.

1 个答案:

答案 0 :(得分:0)

您可以使用我的脚本API(exportsqlce.codplex.com)从代码导出整个数据库(或使用我的exportsqlce40.exe命令行工具),然后使用sqlcecmd.exe创建3.5数据库并运行脚本(这也可以通过我的脚本API完成。

但是在您的应用中,如果您直接引用4.0(System.data.sqlserverce.dll),您当然必须更新您的应用以引用旧版本。