2955|3

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

RDA执行pull操作时会失败,[,,,Database name,,],希望高手帮帮我,代码如下 [复制链接]

void CRDAExamDlg::OnBtnPull()
{
        ISSCERDA * pCERDA = NULL;

        BSTR bstrConnectStr;
        BSTR bstrLocalConnectStr;
        BSTR bstrLocalTableName;
        BSTR bstrQueryStr;
        BSTR bstrErrorTableName;
        RDA_TRACKOPTION trackOption;

        //CoInitialize(NULL);

        HRESULT hr = CoCreateInstance(CLSID_RemoteDataAccess, NULL, CLSCTX_INPROC_SERVER, IID_ISSCERDA, (LPVOID *) &pCERDA);
        //ASSERT(S_OK == hr);
        //ASSERT(pCERDA);
        if (S_OK == hr)
        {
                MessageBox(L"CoCreateInstance OK!", L"Tip", MB_OK);
        }
        else if (REGDB_E_CLASSNOTREG == hr)
        {
                /*char szText[50] = {0};
                wsprintf((unsigned short *)szText, L"CoCreateInstance failed! Code: %d", GetLastError());
                MessageBox((unsigned short *)szText, L"Tip", MB_OK);*/

                MessageBox(L"A specified class is not registered in the registration database!", L"Tip", MB_OK);
        }
        else if (CLASS_E_NOAGGREGATION == hr)
        {
                /*char szText[50] = {0};
                wsprintf((unsigned short *)szText, L"CoCreateInstance failed! Code: %d", GetLastError());
                MessageBox((unsigned short *)szText, L"Tip", MB_OK);*/

                MessageBox(L"This class cannot be created as part of an aggregate!", L"Tip", MB_OK);
        }
        else
        {
                MessageBox(L"CoCreateInstance failed!", L"Tip", MB_OK);
        }
       
        //设置Internet URL
        BSTR bstr = NULL;
        bstr = SysAllocString(CString("Http://winner/sqlce/sscesa20.dll"));
        hr = pCERDA->put_InternetURL(bstr);
        if (S_OK == hr)
        {
                MessageBox(L"put_InternetURL OK!", L"Tip", MB_OK);
        }
        else
        {
                char szText[50] = {0};
                wsprintf((unsigned short *)szText, L"put_InternetURL failed! Code: %d", GetLastError());
                MessageBox((unsigned short *)szText, L"Tip", MB_OK);
        }
        SysFreeString(bstr);

        //设置Internet UserName
        bstr = SysAllocString(CString(""));
        hr = pCERDA->put_InternetLogin(bstr);
        if (S_OK == hr)
        {
                MessageBox(L"put_InternetLogin OK!", L"Tip", MB_OK);
        }
        else
        {
                char szText[50] = {0};
                wsprintf((unsigned short *)szText, L"put_InternetLogin failed! Code: %d", GetLastError());
                MessageBox((unsigned short *)szText, L"Tip", MB_OK);
        }
        SysFreeString(bstr);

        //设置Internet Password
        bstr = SysAllocString(CString(""));
        hr = pCERDA->put_InternetPassword(bstr);
        if (S_OK == hr)
        {
                MessageBox(L"put_InternetPassword OK!", L"Tip", MB_OK);
        }
        else
        {
                char szText[50] = {0};
                wsprintf((unsigned short *)szText, L"put_InternetPassword failed! Code: %d", GetLastError());
                MessageBox((unsigned short *)szText, L"Tip", MB_OK);
        }
        SysFreeString(bstr);

        //设置服务器连接串
        bstrConnectStr = SysAllocString(CString("Provider=sqloldb;data source=winner;Initail Catalog=dbtest;user=;password="));

        //设置本地数据库连接串
        bstrLocalConnectStr = SysAllocString(CString("Provider=microsoft.sqlserver.oledb.ce2.0;Data Source=\\My Documents\\MyDB.sdf"));
        hr = pCERDA->put_LocalConnectionString(bstrLocalConnectStr);
        if (S_OK == hr)
        {
                MessageBox(L"put_LocalConnectionString OK!", L"Tip", MB_OK);
        }
        else
        {
                char szText[50] = {0};
                wsprintf((unsigned short *)szText, L"put_LocalConnectionString failed! Code: %d", GetLastError());
                MessageBox((unsigned short *)szText, L"Tip", MB_OK);
        }
        SysFreeString(bstrLocalConnectStr);

        //设置本地表名
        bstrLocalTableName = SysAllocString(CString("students"));

        //设置查询的SQL语句
        bstrQueryStr = SysAllocString(CString("select * form students"));

        //设置跟踪
        trackOption = TRACKINGOFF;

        //获取服务器数据
        if (SUCCEEDED(pCERDA->Pull(bstrLocalTableName,
                                                bstrQueryStr,
                                                bstrConnectStr,
                                                trackOption,
                                                /*bstrErrorTableName*/NULL)))
        {
                MessageBox(L"Pull OK!", L"Tip", MB_OK);
        }
        else
        {
                /*char szText[50] = {0};
                wsprintf((unsigned short *)szText, L"Pull failed! Code: %d", GetLastError());
                MessageBox((unsigned short *)szText, L"Tip", MB_OK);
                */

                ISSCEErrors * pISSCEErrors = NULL;
                if (SUCCEEDED(pCERDA->get_ErrorRecords(&pISSCEErrors)))
                {
                        ShowErrors(pISSCEErrors);
                        pISSCEErrors->Release();
                }
        }


        SysFreeString(bstrConnectStr);
        SysFreeString(bstrLocalTableName);
        SysFreeString(bstrQueryStr);

        pCERDA->Release();
       
}

最新回复

显示SQL Server CE Server Agent了 “直接用http://localhost/sqlce/sqlcesa30.dll?diag可以看到那些是failed,然后再对症下药去解决”是什么意思?  详情 回复 发表于 2007-6-28 11:22
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
每人回啊。不知到是连接参数错了还是环境配置有问题,急啊!哪位高手指点一下,感激不尽!
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
在浏览器里面打http://localhost/sqlce/sscesa20.dll出来什么?

SQL Server CE Server Agent显示嘛?

我是用3.0的版本了

直接用http://localhost/sqlce/sqlcesa30.dll?diag可以看到那些是failed,然后再对症下药去解决
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

4
 
显示SQL Server CE Server Agent了
“直接用http://localhost/sqlce/sqlcesa30.dll?diag可以看到那些是failed,然后再对症下药去解决”是什么意思?
 
 
 

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

随便看看
查找数据手册?

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