2398|0

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

evc中rda编pull出现的问题(请大家多多帮忙啊!!!) [复制链接]

近日学习Pda上数据库编程,在evc4.0中使用RDA 编写了一个PDA的sqlce从sqlserver2000上数据库(dbtest)pull一个表(id)的小程序,iis设置好了,在pda上能ie到http://192.168.0.119/sqlce/sscesa20.dll,pull中的各个参数也都按书本及对照网上一些说明设好,可是总是不能pull到表,调试时运行完hr = pCERDA->Pull(.....);后hr = -2147418113请问可能是什么地方出了问题啊?这个问题困扰了我多日,问了几个地方了,希望有人能帮助我,谢谢!
我的小程序如下:
void CRDAtestDlg::OnBtnpull()   
{
        ISSCERDA*  pCERDA = NULL;
        BSTR bStr = NULL;
        BSTR bConnectStr = NULL;
        BSTR bQueryStr = NULL;
        BSTR bLocalConnectStr = NULL;
        BSTR bLocalTableName = NULL;
        BSTR bErrorTableName = NULL;
        RDA_TRACKOPTION trackOption = TRACKINGON;
   
        HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED );
        hr = CoCreateInstance(CLSID_RemoteDataAccess, NULL,  CLSCTX_INPROC_SERVER, IID_ISSCERDA, (LPVOID *)&pCERDA);
    if(hr == S_OK )
        {
                AfxMessageBox(_T("成功111!"));
        }
        bStr = SysAllocString(_T("http://192.168.0.119/sqlce/sscesa20.dll"));
        hr = pCERDA->put_InternetURL(bStr);
        SysFreeString(bStr);

        bStr = SysAllocString(_T(""));
        hr = pCERDA->put_InternetLogin(bStr);
        SysFreeString(bStr);

        bStr = SysAllocString(_T(""));
        hr = pCERDA->put_InternetPassword(bStr);
        SysFreeString(bStr);

        bErrorTableName = SysAllocString(_T("idErrors"));   
        bConnectStr = SysAllocString(_T("provider=sqloledb; data source=192.168.0.119; Initial Catalog=dbtest; user id=sum; password=123"));
        bLocalConnectStr = SysAllocString(_T("Provider=microsoft.sqlserver.oledb.ce.2.0; Data Source=\\My Documents\\dbtest.sdf"));
    bLocalTableName = SysAllocString(_T("id"));
        bQueryStr = SysAllocString(_T("SELECT Id FROM id"));  //Id为id表中唯一的项设为了主键

        hr = pCERDA->Pull(bLocalTableName,
                 bQueryStr,
                 bConnectStr,
                 trackOption,
                 bErrorTableName);
    SysFreeString(bLocalTableName);
        SysFreeString(bQueryStr);
        SysFreeString(bConnectStr);
        SysFreeString(bErrorTableName);
        if (hr == S_OK)  
        {
                AfxMessageBox(_T("成功!!"));
        }
        else
        {
                AfxMessageBox(_T("失败!!"));
        }
        pCERDA->Release();
}
iis 设了anonymous access   
sql server 身份验证选了sql server和windows
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表