如何从VB6访问SQL CE 3.5

Mas*_*rfu 1 c# vb6 legacy sql-server-ce

我们有一个用C#编写的.NET 3.5 SP1应用程序,它将数据存储在SQL CE 3.5数据库中.我们还需要从传统的VB6应用程序访问(只读)这些数据.

我不知道这是否可能.我能想到有几种解决这个问题的方法.

1)我已阅读有关ADOCE Con​​nections的信息,但这似乎只是嵌入式Visual Basic的一个选项

2)我似乎无法使用ADODB.Connection对象进行连接工作

Dim MyConnObj As New ADODB.Connection
' Microsoft.SQLSERVER.CE.OLEDB.3.5
' Microsoft.SQLSERVER.MOBILE.OLEDB.3.0
MyConnObj.ConnectionString = "Provider=SQLOLEDB;Data Source=c:\test.sdf"
MyConnObj.Open
Run Code Online (Sandbox Code Playgroud)

也许这只是提供商的糟糕选择?我还尝试了上面显示为注释的提供程序和不同的连接字符串,但无济于事.这两个提供程序都没有安装在我的开发计算机上,也不会安装在我客户的计算机上.

3)也许有一种方法可以使用像ODBC这样更通用的方法?但我相信这会导致设置/部署工作,对吧?

有没有人有这种情况的经验?如你所见,我真的在寻找一些好的起点.我也接受这样的答案,"只要它们带有一些指导方向,这就是简单的死亡,你也是如此";-)

Han*_*ant 5

Provider = Microsoft.SQLSERVER.CE.OLEDB.3.5; Data Source = c:\ test.sdf;

验证您是否有可用的提供程序.启动Regedit.exe,打开HKEY_CLASSES_ROOT节点,向下滚动并验证您是否看到Microsoft.SQLSERVER.CE.OLEDB.3.5密钥.如果不存在,必须安装它. 下载链接.