如何在使用Microsoft同步框架脱机时查询本地数据库?

时间:2013-01-10 13:26:31

标签: vb.net sql-server-2008 sql-server-ce microsoft-sync-framework

我有一个基于Microsoft Sync Framework的应用程序。输入数据并将其存储在使用同步框架向导配置的数据库中。据我所知,这将服务器数据库的克隆放在本地目录中,数据库版本是SQL Compact版本。

用户有时会离线使用该应用程序,并且需要来自一个数据库的信息才能填充另一个数据库。他们将从Tools数据库中选择一个工具,并从设备数据库中选择具有某些参数的设备。为了做到这一点,我需要能够在离线时查询本地数据库。

首先,我尝试使用我设置中的本地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之后在运行时更改连接字符串 这不起作用,因为我无法在线下检索任何数据。 有没有人对此有任何想法?感谢。

0 个答案:

没有答案