sqlce通过RDA连Sql2000的问题
困扰我两天了,每次执行到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);