2849|3

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

C#中PULL不了数据 [复制链接]

使用语言为C#,PC机上服务器为SQL SERVER 2000,PDA数据库为SQL Server Mobile Edition 2005.使用开发工具为Visual Studio 2005.

在C#中引用的为3.0的包.System.Data.SqlServerCe.Sqlceca.dll.

配置IIS虚拟目录.指向C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Server,虚拟目录名为SQLCE.权限为可以读取.匿名用户登陆.

在PC机中IE输入http://localhost/sqlce/sqlcesa30.dll显示SQL Server Mobile Server Agent 3.0
在PDA中IE输入http://192.168.100.76/sqlce/sqlcesa30.dll显示SQL Server Mobile Server Agent 3.0.

然后,在SQL SERVER 2000中建立库.Test,在其中建立表student.ID为表student主键.
编写如下代码.
public SqlCeConnection GetConn()
  {
    SqlCeConnection conn = null;
    try
        {
            String dbpathname = @"son.sdf";

             if (File.Exists(dbpathname))
                File.Delete(dbpathname);

             string strCon = "Data Source =" + dbpathname;

             SqlCeEngine engine = new SqlCeEngine(strCon);
             engine.CreateDatabase();
             engine.Dispose();
            }
            catch (SqlCeException e)
            {
                ShowErrors(e);
            }
            return conn;
        }
然后PULL数据.代码如下:

            SqlCeRemoteDataAccess rda = null;

            //SQL Server所在的主机的IP

            string remoteIP = "192.168.100.76";

            //SQL Server中的数据库,名为ABC

            string remoteDB = "Test";

            //数据库ABC的用户和密码

              string user = "sa";

            string pwd = "sa123456";

            //本地sqlce数据库的路径和名字,该数据库存在于win CE系统下.

            string dbPathName= @"\son.sdf";

            string localDB = dbPathName;

            //本地sqlce数据库密码

            string localPwd = "";

            //要同步的数据表名

            string table = "student";

            //用于连接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();

                //由于虚拟目录sqlce设置的访问方式为匿名,所以登陆名和密码可以忽略

                   rda.InternetLogin = "";

                rda.InternetPassword = "";

                rda.InternetUrl = "http://" + remoteIP + "/sqlce/sqlcesa30.dll";

                rda.LocalConnectionString = localConnectString;

                //执行同步,SQL SERVER同步到sqlce

                //参数RdaTrackOption.TrackingOn指示SQL Server Mobile 跟踪对所提取表的所有更改。

                rda.Pull(table, "SELECT ID,NAME,AGE FROM ", rdaOleDbConnectString, RdaTrackOption.TrackingOn, "ErrorTable");
           }
            catch (SqlCeException ex)
            {
                //Use you own Error Handling Routine.
                ex.ToString();
            }
            finally
            {
                //Dispose of the RDA Object.
                rda.Dispose();
            }
        }
数据库son.sdf可以成功建立,但是PULL不了数据.
错误信息ex为{""}

问:PC机上的库.Test是否需要发布. IIS的匿名用户是否需要添加到SQL SERVER用户中.

小弟刚接触,SQL CE,已经查找了3天方法.实在解决不了.望大哥们多多帮助.

最新回复

偶QQ:619121698  详情 回复 发表于 2008-7-16 17:53
点赞 关注

回复
举报

68

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
希望可以详细说明一下具体步骤
 
 

回复

93

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
偶搞过这个,sqlce数据库远程访问应用程序
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(初级)

4
 
偶QQ:619121698
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表