【发布时间】:2016-08-21 17:31:40
【问题描述】:
我有一个系统,可以将我的 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
【问题讨论】: