使用SQLConnection连接到SQL CE db

Tyg*_*ash 8 c# connection-string sql-server-ce

非常直截了当的问题.我正在构建一个从SQL Server 2005实例读取数据的应用程序.我想在我的笔记本电脑上运行一些测试(没有SQL 2005),所以我正在考虑在本地数据库中交换以进行测试.

我正在使用VS2008,因此Compact Edition DB似乎是一个自然的选择.我原本希望换掉我的连接字符串,但似乎它只能让我使用SqlCeConnection而不是SqlConnection连接到CE数据库.任何方式,我可以在连接字符串中使用修饰符?

Ant*_*lev 7

通过仅修改配置参数,实际上很有可能使用SQL CE而不是完整的SQL Server:更改连接字符串并IDbXXX尽可能使用系列接口而不是平台特定的SqlXXXSqlCeXXX一些.请参阅DbProviderFactories.

但是,请注意这两个平台的SQL方言的差异.


noe*_*cus 5

是的,您可以通过引用基类来使用 SQL Compact 和/或 SQL Server。例如:

IDbConnection Connection;

if (Compact)
    Connection = new SqlCeConnection();
else
    Connection = new SqlConnection();
Run Code Online (Sandbox Code Playgroud)

连接字符串需要指向 SQL Compact 的数据文件,例如:"Data Source=urData.sdf;Persist Security Info=False;". 更多例子在这里

此链接将解释SQL Server 和 SQL Compact 之间的区别,因为它们并不相同。