RDA失败,跪求高手!!!!

jicey 2007-07-10 09:34:51
我是用VS2005开发Pocket PC2003的应用程序,但用RDA进行数据库同步,但老是失败,提示下面的错误:
Number: 80072EFF
Description: A request to send data to the computer running IIS has failed. For more information, see HRESULT. [,,,,,]
NativeError: 28037
Source: Microsoft SQL Server 2000 Windows CE Edition
我是用SQL Server CE2.0把SQL Server2000上的数据库(名为pacs,内有patient和report两个表)数据拉到本地数据库(名为PocketPACS.sdf)上,IIS的虚拟目录sqlce的权限是”Anonymous access”,并且在客户端和服务器端的IE地址栏上输入”http://tsmcserver/sqlce/sscesa20.dll”也都能成功显示” SQL Server CE Server Agent”,但服务器上的表就是下载不到客户端,老是提示上面的错误,调了好几天,网上查了不少,但就是不成功,快疯了!!!!!!!!!!!
具体程序如下:
public string strDBFile = @"My Documents\PocketPACS.sdf";
public string strConnLocal = "Data Source=" + @"My Documents\PocketPACS.sdf";
public string strConnRemote = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Integrated Security=SSPI;User ID = TSMCSERVER//IUSR_TSMC-5YPPGHKTLD;Initial Catalog=pacs;Data Source=PocketPACS.sdf;";
public string strURL = "http://192.168.1.104/sqlce/sscesa20.dll";


private void menuLogin_Click_1(object sender, System.EventArgs e)
{
doctorsearch = new DoctorSearch();
if((textBox1.Text=="tsmc")&&(textBox2.Text=="tsmc"))
{
doctorsearch.Show();
Cursor.Current = Cursors.WaitCursor;
if(File.Exists(strDBFile))
{
File.Delete(strDBFile);
}
SqlCeEngine dbEngine = new SqlCeEngine();
dbEngine.LocalConnectionString = strConnLocal;
try
{
dbEngine.CreateDatabase();
}
catch(SqlCeException exSQL)
{
MessageBox.Show("Unable to create database" + exSQL.Errors[0].Message);
}
SqlCeRemoteDataAccess rdaNW = new SqlCeRemoteDataAccess();
try
{
rdaNW.LocalConnectionString = strConnLocal;
rdaNW.InternetUrl = strURL;
rdaNW.InternetLogin = "";
rdaNW.InternetProxyPassword = "";
rdaNW.Pull("patient","SELECT * FROM patient",strConnRemote,RdaTrackOption.TrackingOnWithIndexes,"ErrorDoctor";
}
catch(SqlCeException exSQL)
{
Errors.ShowErrors(exSQL);
}
finally
{
rdaNW.Dispose();
}
Cursor.Current = Cursors.Default;
}
else
MessageBox.Show("Wrong infromation.Please check it again");
}
请教各位大侠,问题出在哪里?
...全文
338 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
newfunction 2007-07-19
  • 打赏
  • 举报
回复
我的问题更郁闷,各位大虾能不能帮忙看看
下面是代码
/////////////////////////////////////////////////////////////////////////
string rdaOleDbConnectString = "Provider=sqloledb; Data Source=.;Initial Catalog=TeleEISPDA; " +
"Persist Security Info=True;User Id=cxb;Password =cxb";

// Initialize RDA Object.
SqlCeRemoteDataAccess rda = null;

try
{
//Try the Pull Operation.
rda = new SqlCeRemoteDataAccess();
//rda.InternetLogin = "";
//rda.InternetPassword = "";
rda.InternetUrl = @"http://132.97.129.140/tele/sqlcesa30.dll";
rda.LocalConnectionString = @"Data Source=\My Documents\data.sdf";
rda.SubmitSql("SELECT [ID],[TEST] FROM [MyRemoteTable]", rdaOleDbConnectString);
rda.Pull(
"table_abc",
"SELECT [ID],[TEST] FROM [MyRemoteTable]",
rdaOleDbConnectString,
RdaTrackOption.TrackingOn,
"ErrorTable");
}
catch (SqlCeException ex)
{
//Use you own Error Handling Routine.
FormLogin fl = new FormLogin();
fl.ShowErrors(ex);

}
finally
{
//Dispose of the RDA Object.
rda.Dispose();
}
//////////////////////////////////////////////////////////////////////////////
执行到
rda.Pull(
"table_abc",
"SELECT [ID],[TEST] FROM [MyRemoteTable]",
rdaOleDbConnectString,
RdaTrackOption.TrackingOn,
"ErrorTable");
时报错
Error Code:-2147024891
Message :
Minor Err.:0
Source :Microsof SQL Server 2005 Mobile Edition
newfunction 2007-07-19
  • 打赏
  • 举报
回复
关注ing!!
jicey 2007-07-15
  • 打赏
  • 举报
回复
谢谢mastudio指点迷津,小弟万分感谢!!!
回头马上就学,补基础。
有什么好的建议还望大哥多多提醒!!
mastudio 2007-07-15
  • 打赏
  • 举报
回复

你先去研究一下RDA是如何写出来的,或则最起码深入了解他的原理!
你欠缺TCP\SOCKET相关的网络基础知识!
jicey 2007-07-14
  • 打赏
  • 举报
回复
回mastudio:
不用RDA,难道用Replication?
实不相瞒,小弟是新手,原来并不是学计算机的,只是最近想做一个医院的小型PACS的手机客户端应用程序,边学边做,遇到了不少问题,在此求教,还望各位大哥海涵小弟的外行!对小弟不吝赐教!
jicey 2007-07-14
  • 打赏
  • 举报
回复
回kingmax:
对呀,我的SQL2000和SQL CE都是SP3补丁的,但我建表时并没提示我要有密码呀,我也没设密码,查看我的数据库的属性也没发现有密码呀,只看到权限是public。
望详解,谢谢!!!
kingmax54212008 2007-07-14
  • 打赏
  • 举报
回复
打了SP3补丁的数据都是有密码的
mastudio 2007-07-14
  • 打赏
  • 举报
回复
这种场合更本就不合适采用RDA, 你的基本功还欠缺!
jicey 2007-07-13
  • 打赏
  • 举报
回复
怎么没人呀,呜呜
jicey 2007-07-13
  • 打赏
  • 举报
回复
但我的数据库没有设密码呀,只有一个默认的用户名:IUSR_TSMC-5YPPGHKTLD,因为我是选的“匿名访问”。
另外,为什么我的provider和你的不一样呀?
jicey 2007-07-13
  • 打赏
  • 举报
回复
mastudio大侠能具体说下吗?我到底哪里出了问题?不胜感谢!!!!
mastudio 2007-07-13
  • 打赏
  • 举报
回复
杀牛用了砍鸡刀, 当然有问题!

xw762 2007-07-11
  • 打赏
  • 举报
回复
关注,UP
yinqingyue2007 2007-07-11
  • 打赏
  • 举报
回复
应该是你的连接串不对: public string strConnRemote = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Integrated Security=SSPI;User ID = TSMCSERVER//IUSR_TSMC-5YPPGHKTLD;Initial Catalog=pacs;

需要提供访问该数据库的用户名和密码才可以访问, 我的连接串如下:
remoteString = "provider=sqloledb;Data Source=172.18.188.31;Initial Catalog=InfoDB;Persist Security Info=True;User ID=Test;Password=sa";
你可以查看我的文章: http://www.cnblogs.com/yqy542006/default.html?page=2
标题:利用实现数据同步功能, 已经完成测试,可以实现.
测试环境:vs2005 , sqlserver 2000

7,657

社区成员

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

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