SQLCE到SQLServer 2005 采用rda同步问题

我尝试实现从SQLServer 2005同步数据到SQL Server CE时出现未处理的错误"未处理的SqlCeException".HResult值为"-2147024891",错误描述为“位于 System.Data.SqlServerCe.NativeMethods.CheckHRESULT()\r\n位于 System.Data.SqlServerCe.SqlCeRemoteDataAccess.Pull()\r\n位于 SmartDeviceProject2.Form1.button1_Click()\r\n位于 System.Windows.Forms.Control.OnClick()\r\n位于 System.Windows.Forms.Button.OnClick()\r\n位于 System.Windows.Forms.ButtonBase.WnProc()\r\n位于 System.Windows.Forms.Control._InternalWnProc()\r\n位于 Microsoft.AGL.Forms.EVL.EnterMainLoop()\r\n位于 System.Windows.Forms.Application.Run()\r\n位于 SmartDeviceProject2.Program.Main()\r\n”。

以下是代码:

SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess("http://192.168.0.254/sqlce/sqlcesa30.dll", @"Data Source='\SmartDeviceProject2\Devices.sdf';Password=liuhua");
                rda.InternetLogin = "";
                rda.InternetPassword = "";
                string dbConnStr = @"Provider=SQLOLEDB;Data Source=192.168.0.19;Initial Catalog=Devices;Persist Security Info=false;User ID=sa;Password=liuhua;";                
                rda.Pull("Device1", "select * from Device1", dbConnStr, RdaTrackOption.TrackingOn);
                rda.Dispose();

这个问题困扰了我两天,后来发现,原因在于sqlerver2005服务器端工具版本不对。我要连接SQLServer 2005,应该用3.5的SSCEServerTools-CHS.msi。更新ServerTools后,重新用Web同步向导布置IIS中的虚拟目录后,就能够同步数据了。

SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess("http://192.168.0.254/sqlce2/sqlcesa35.dll", @"Data Source='\SmartDeviceProject2\Devices.sdf';Password=liuhua");
            rda.InternetLogin = "";
            rda.InternetPassword = "";
            string dbConnStr = @"Provider=SQLOLEDB;Data Source=192.168.0.19;Initial Catalog=Devices;Persist Security Info=false;User ID=sa;Password=liuhua;";
            rda.Pull("Device1", "select * from Device1", dbConnStr, RdaTrackOption.TrackingOn);
            rda.Dispose();

  

解决问题时参考了一篇文章 http://wenku.baidu.com/view/3a3c712cb4daa58da0114a27.html

转载于:https://www.cnblogs.com/liuhua4451/archive/2012/08/13/2635805.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值