0

我有一个将我的 SDF 本地数据库 RDA 到 SQL 服务器数据库的系统。SDF 现在允许系统存储 1GB 的数据,但 RDA 客户端不允许我进行推送或拉取。

当我查看 RDA 元素时,它的最大数据库大小为 256。当我仅将 LocalConnectionString 字符串设置为“Data Source=ehc.sdf;Password=xx;”时

在将 LocalConnectionString 设置为真正的连接字符串之前,它是null。设置连接字符串后,使用上面的字符串 LocalConnectionString 包含下面的字符串。(在调试中运行,一旦你移动了设置线,就会操纵字符串。我没有调用任何东西

"ssce:default lock escalation=\"100\";data source=\"\ehc.sdf\";ssce:max database size=\"256\";ssce:default lock timeout=\"5000\";ssce:max buffer size=\"4096\";ssce:temp file max size=\"256\";ssce:enlist=\"True\";ssce:autoshrink threshold=\"60\";ssce:flush interval=\"10\";ssce:database password=\"xxxx\";"

当我没有设置它时,它在字符串中声明 ssce:max database size=\"256\"。

所以我使用替换将“ssce:max database size=\"256\"" 替换为 "ssce:max database size=\"1091\""

进行此更改后,我现在收到以下错误。

"另一个用户打开了具有不同实例级初始化属性的数据库。 "

如果我将 LocalConnectionString 设置为 ""Data Source=\ehc.sdf;Password=xxxx;Max Database Size=1091;Persist Security Info=False;"" LocalConnectionString 设置为以下字符串并且 RDA 客户端给我以下错误

"ssce:default lock escalation=\"100\";persist security info=\"False\";data source=\"E:\\Work\\Development\\Current\\HealthOptions\\HealthOptions\\Branches\\9.2.0-Interventions\\hdinput\\bin\\x86\\Debug\\ehc.sdf\";ssce:autoshrink threshold=\"60\";ssce:max buffer size=\"4096\";ssce:temp file max size=\"256\";ssce:enlist=\"True\";ssce:max database size=\"1091\";ssce:flush interval=\"10\";ssce:default lock timeout=\"5000\";ssce:database password=\"xxxxx\";"

"指定的 OLE DB for SQL Server Compact 连接字符串无效。 "

有谁知道为什么会这样?当我设置它时,为什么 LocalConnectionString 正在操纵我的连接字符串?我怎样才能绕过我的错误。

SqlCeRemoteDataAccess DLL 程序集版本是 v3.5.1.0

4

1 回答 1

0

在查看越来越多并从以下网址阅读以下内容之后。我尝试将“ ;Max Database Size=1091; ”值添加到连接字符串中。

新的 LocalConnectionString 值现在包含正确的最大数据库允许值,并且 RDA 不会报告任何错误。

我假设,因为我试图操纵或添加太多属性,它并不高兴。

所以最后的应对是:

 rda.LocalConnectionString = "Data Source=ehc.sdf;Password=xx;" + ";Max Database Size=1091;"

不是

"Data Source=\ehc.sdf;Password=xxx;Max Database Size=1091;Persist Security Info=False;"

带有点https://technet.microsoft.com/en-us/library/ms173248%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396的 URL

让我三思而后行的点 如果一个属性名称在连接字符串中出现多次,则使用与最后一次出现关联的值。

于 2016-04-27T13:08:13.360 回答