在ce中用sqlmobile连接pc中sqlserver2005时,在产生new SqlCeRemoteDataAccess这个类的时候总报异常,说
“在 System.Data.SqlServerCe.SqlCeException 中第一次偶然出现的“System.Data.SqlServerCe.dll”类型的异常
”,哪位大侠帮忙解决一下,先谢谢各位拉
SqlCeRemoteDataAccess rda = null;
//SQL Server所在的主机的IP
string remoteIP = "LUCENE";
//SQL Server中的数据库,名为Test
string remoteDB = "Test";
//数据库Test的用户和密码
string user = "sa";
string pwd = "123";
//本地sqlce数据库的路径和名字,该数据库存在于win CE系统下.
string dbPathName= @"\rda.sdf";
string localDB = dbPathName;
//本地sqlce数据库密码
string localPwd = "";
//要同步的数据表名
string table = "Test1";
//用于连接SQL Server数据库的字符串
string rdaOleDbConnectString = @"Provider=SQLOLEDB;Data Source=" + remoteIP +";Initial Catalog=" + remoteDB + ";User Id=" + user + ";Password =" + pwd;
//连接本地sqlce数据库的字符串,作为SqlCeRemoteDataAccess对象的一个参数
string localConnectString = @"Data Source=" + localDB + ";Password=" + localPwd;
try
{
rda = new SqlCeRemoteDataAccess("http://" + remoteIP + "/Test2/sqlcesa30.dll", "", "", localConnectString);
//由于虚拟目录sqlce3设置的访问方式为匿名,所以登陆名和密码可以忽略
// rda.InternetLogin = "";
// rda.InternetPassword = "";
//rda.InternetUrl = "http://" + remoteIP + "/Test2/sqlcesa30.dll";
//rda.LocalConnectionString = localConnectString;
//执行同步,SQL SERVER同步到sqlce
//参数RdaTrackOption.TrackingOn指示SQL Server Mobile 跟踪对所提取表的所有更改。
rda.Pull(table, "Select * from " + table, rdaOleDbConnectString, RdaTrackOption.TrackingOn);
}
catch (SqlCeException ) {
}
一般先判断sqlce上是否存在目标表,存在则Drop