sqlce通过RDA连Sql2000的问题

baxi52 2008-04-11 11:36:14
困扰我两天了,每次执行到pull的时候都会报 A request to send data to the computer running IIS has failed,找不到原因,我环境是VS2008,SQL2000SP4,SQLCE2.0SP4,配置了IIS虚拟目录http://192.168.0.116:8080/sqlce/sscesa20.dll该目录能在PC机器上浏览 出现...AGENT字样,在手机IE上打该目录也能出现...AGENT字样;选的是匿名访问;防火墙已经关闭,可还是不行,我郁闷死了,希望能指点下. 以下是代码


string dbPathName = @"\rda.sdf";
if (File.Exists(dbPathName))
File.Delete(dbPathName);
string strCon = "Data Source =" + dbPathName + "; Password=";
SqlCeEngine engine = new SqlCeEngine(strCon);
engine.CreateDatabase();
engine.Dispose();


SqlCeRemoteDataAccess rda = null;
//SQL Server所在的主机的IP
// string remoteIP = tbRemoteIP.Text.Trim();
//SQL Server中的数据库,名为ABC
string remoteDB = "abc";
//数据库ABC的用户和密码
string user = "sa";
string pwd = "sa";
//本地sqlce数据库的路径和名字,该数据库存在于win CE系统下.
// dbPathName= @"\rda.sdf";
string localDB = dbPathName;
//本地sqlce数据库密码
string localPwd = "";
//要同步的数据表名
string table = "person";
//用于连接SQL Server数据库的字符串
string rdaOleDbConnectString = @"Provider=SQLOLEDB.1;Data Source=192.168.0.116;Initial Catalog=" + remoteDB + ";User Id=" + user + ";Password =" + pwd;
//连接本地sqlce数据库的字符串,作为SqlCeRemoteDataAccess对象的一个参数
string localConnectString = @"Data Source=" + localDB + ";Password=" + localPwd;
rda = new SqlCeRemoteDataAccess();
//由于虚拟目录sqlce3设置的访问方式为匿名,所以登陆名和密码可以忽略
//rda.InternetLogin = String.Empty;
// rda.InternetPassword = String.Empty;
rda.InternetUrl = "http://192.168.0.116:8080/sqlce/sscesa20.dll";
rda.LocalConnectionString = localConnectString;
//执行同步,SQL SERVER同步到sqlce
//参数RdaTrackOption.TrackingOn指示SQL Server Mobile 跟踪对所提取表的所有更改。
rda.Pull(table, "Select username from " + table, rdaOleDbConnectString, RdaTrackOption.TrackingOn);
...全文
382 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
alonepb 2008-09-19
  • 打赏
  • 举报
回复
关注一下
btsy2000 2008-09-13
  • 打赏
  • 举报
回复
学习了,帮顶一下
alphen 2008-09-13
  • 打赏
  • 举报
回复
检查模拟器有没有插入底座
winzheng 2008-09-11
  • 打赏
  • 举报
回复
(3)修改SQL Server 2000
进入SQL Server的企业管理器,在正在运行的Sever中选择安全性,新建登陆,新增加用户IUSER_计算机名(Internet来宾帐号), 并在数据库

访问中选中要访问的数据库,增加角色”db_owner”,点击确定,完成权限设置

我没有用这一步也成功了,但是同步时出现上述问题

alonepb 2008-04-26
  • 打赏
  • 举报
回复
我到没使用sql2005+VS2008

我的平台是SQL2000+VS2005+XP+SQLCE2.0
alonepb 2008-04-25
  • 打赏
  • 举报
回复

环境


sql server 2000与sql server ce2.0通过SqlCeRemoteDataAccess实现数据同步
我已经安装过sql server 2000和sql server ce2.0,接下来只是给这两个安装补丁,我安装的补丁是:Microsoft_sql2ksp4chs1.exe和sqlce20sql2ksp4.exe(也就是sql server ce server tools),确保两个补丁是一样的版本,这里两个都是sp4的。
(1)安装Microsoft_sql2ksp4chs1
要先装这个Microsoft_sql2ksp4chs1,他是sql server2000的很容易安装,按照步骤就好了。
(2)安装sqlce20sql2ksp4.exe
注意:在安装前,确保IIS服务已经启动
i. 按照提示安装
ii. 进入SQL Server CE Virtual Directory Creation Wizard界面
iii. 给virtual directory 输入名称 “sscepubs”(这个你可以自己命名)
iv. 选择“anonymous access”
v. 下一步,不进行任何选择

共享C:\Program Files\Microsoft SQL Server CE 2.0\Server目录(完全共享),然后\\计算名\server


vi. 安装完成
(3)修改SQL Server 2000
进入SQL Server的企业管理器,在正在运行的Sever中选择安全性,新建登陆,新增加用户IUSER_计算机名(Internet来宾帐号), 并在数据库

访问中选中要访问的数据库,增加角色”db_owner”,点击确定,完成权限设置
(4)测试是否安装成功
在IE中输入http://服务器的IP地址/sscepubs/sscesa20.dll, 如果连接成功且出现“SQL Server CE Agent”

这样子就好了,可以利用SqlCeRemoteDataAccess这个来实现同步了
qiao198 2008-04-25
  • 打赏
  • 举报
回复
模拟器中没有问题,放在真机就失败 报错 :a request send data to the computer running IIS has failed 但是 IIS 虚拟目录 在手机上用IE可以打开,在电脑上也可以打开
qiao198 2008-04-25
  • 打赏
  • 举报
回复
* 08-4-24 星期四 16:59:06 | A request to send data to the computer running IIS has failed. For more information, see HRESULT. | 位于 System.Data.SqlServerCe.NativeMethods.CheckHRESULT(IntPtr pISSCEErrors, Int32 hr)
位于 System.Data.SqlServerCe.SqlCeReplication.Synchronize()
位于 CMclient.Data.Database.Synchronize()
位于 CMclient.UI.Login.UserLogin()


我是SQL2005+VS2008 采用复制、订阅的方式同步。

拟器中没有问题,放在真机就失败 报错 :a request send data to the computer running IIS has failed 但是 IIS 虚拟目录 在手机上用IE可以打开,在电脑上也可以打开

就是在手机上不行,请alonepb 留下联系方式,我的QQ:35467957
alonepb 2008-04-24
  • 打赏
  • 举报
回复
IIS要建立一个来宾用户
qiao198 2008-04-24
  • 打赏
  • 举报
回复
A request to send data to the computer running IIS has failed. For more information, see HRESULT.

怎么解决呀
love.李 2008-04-17
  • 打赏
  • 举报
回复
如果你是远程连接的话,
建议你不要用IP:192.168.0.116来做server的名字,
如果你是局域网,最好去参考一下,局域网连接的一些文件,
如果一定要使用IP,最好找台服务器来试试看,
另外我不是很了解,pull方式访问SQL的机制,
不知道和1433端口有没有关系,检查一下端口是否能访问
i_am_wangzg 2008-04-17
  • 打赏
  • 举报
回复
192.168.0.116 不能写这个要写你的计算机名

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧