我有一个基于 Microsoft 同步框架的应用程序。数据被输入并存储在使用同步框架向导配置的数据库中。据我了解,这会将服务器数据库的克隆放在本地目录中,并且数据库版本是 SQL Compact 版本。
用户有时会离线使用应用程序,并且需要来自一个数据库的信息才能填充另一个数据库。他们将从工具数据库中选择一个工具,并从设备数据库中选择一个具有某些参数的设备。为了做到这一点,我需要能够在离线时查询本地数据库。
首先,我尝试使用设置中的本地 ConnectionString 来填充组合框。
Dim conn As New SqlConnection(My.Settings.ClientDatabaseConnectionString)
conn.Open()
Dim dat As SqlDataAdapter = New SqlDataAdapter("SELECT Distinct InstrumentType FROM CreateScriptTable", conn)
Dim dt As New DataSet
dat.Fill(dt, "TestScriptTable")
cbInst.DataSource = dt.Tables("TestScriptTable").DefaultView
cbInst.DisplayMember = "InstrumentType"
cbInst.ValueMember = "InstrumentType"
接下来,因为它是一个 SQL ce 数据库,所以我使用了 SQLCeConnection:
Dim conn As SqlCeConnection
conn = New SqlCeConnection("Data Source=|DataDirectory|\TestsDatabase4.sdf;Max Database Size=2047")
Dim dat As SqlCeDataAdapter = New SqlCeDataAdapter("SELECT Distinct InstrumentType FROM TestScriptTable", conn)
Dim dt As New DataSet
dat.Fill(dt, "TestScriptTable")
cbInst.DataSource = dt.Tables("TestScriptTable").DefaultView
cbInst.DisplayMember = "InstrumentType"
cbInst.ValueMember = "InstrumentType"
本地连接字符串的各种格式被传递到 SQLConnection() 包括删除Max Database Size=2047
这些方法都不起作用所以我尝试在运行时按照教程here更改连接字符串
这也不起作用所以目前我无法检索任何数据随意离线。有人对此有任何想法吗?谢谢。