远程连接SQL 2005
各位大神帮忙,这个问题困扰我好几天了。
编程环境:VS2005(C#)
出现问题:无法使用给定的连接字符串打开 SQL Server。 [ connect string = Provider=SQLOLEDB;Data Source=10.1.34.86;Initial Catalog= ]
程序代码如下:
// 2 //用SQL Server 2005中数据库同步SQL CE数据库
SqlCeRemoteDataAccess rda = null;
// SQL Server 2005 所在的主机的 IP
string remoteIP = "10.1.34.86";
// SQL Server 2005 中的数据库,名为“雷达管理系统”
string remoteDB = "雷达管理系统";
string user = "sa";
string pwd = "000";
//本地 SQLCE 数据库的路径和名字,该数据库存在于winCE系统下
string localDB = "MyDb1.sdf";
//本地 SQLCE 数据库密码
string localPwd = "000";
//要同步的数据表名
string table = "用户信息";
//用于连接 SQL Server 2005 数据库的字符串,其中Initial Catalog为要连接的数据库名称
string rdaOleDbConnectString = "Provider=SQLOLEDB;Data Source=" + remoteIP + ";Initial Catalog=" + remoteDB + ";User ID=" + user + ";Password=" + pwd;
//连接本地 SQLCE 数据库的字符串,作为 SqlceRemoteDataAccess 对象的一个参数
string localConnectString = @"Data Source=" + localDB + ";Password=" + localPwd;
rda = new SqlCeRemoteDataAccess();
//由于虚拟目录 sqlce 设置的访问方式为匿名,所以登录名和密码可以忽略
rda.InternetLogin = "";
rda.InternetPassword = "";
rda.InternetUrl = "http://" + remoteIP + "/sqlce/sqlcesa30.dll";
rda.LocalConnectionString = localConnectString;
//执行同步, SQL Server 2005 同步到 SQLCE
//参数RdaTrackOption.TrackingOn指示SQL ServerMobie跟踪所对提取表的更改
rda.Pull(table, "Select *from" + table, rdaOleDbConnectString, RdaTrackOption.TrackingOn);
划线部分出现上述问题。谢谢
[解决办法]
太复杂了,我不懂
但是我见过人家把数据库托管到电信,通过无线网络获取数据
[解决办法]
模拟器通过activesync同步后,所分配的IP是由activesync分配的,与你本机的ip不是同一子网!
你看一下模拟器的IP地址就知道什么原因了!
解决方法与我们平常使用虚拟机类似,在模拟器中虚拟一个网卡,不要通过activesync进行连接。
[解决办法]