各位兄弟帮帮忙,以下语句执行竟然不成功了!!!!!

linghushaonian 2003-06-12 06:51:12
如下一段OLE DB的语句原来在另一个程序中可用,现在单独测试竟然不能打开数据库!
code://////////////////////////////
CComBSTR bstrServer("localsever");
CComBSTR bstrUser("sa");
CComBSTR bstrPassword("****");
CComBSTR bstrDatabase("Northwind");


if (pSession && pSession->m_spOpenRowset != NULL)
pSession->m_spOpenRowset.Release();

CDBPropSet dbinit(DBPROPSET_DBINIT);

dbinit.AddProperty(DBPROP_AUTH_PASSWORD, bstrPassword);
dbinit.AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false);
dbinit.AddProperty(DBPROP_AUTH_USERID, bstrUser);
dbinit.AddProperty(DBPROP_INIT_CATALOG, bstrDatabase);
dbinit.AddProperty(DBPROP_INIT_DATASOURCE, bstrServer);
dbinit.AddProperty(DBPROP_INIT_LCID, (long)1049);
dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4);

if(FAILED(pDataSource->Open(_T("SQLOLEDB.1"), &dbinit)))
{
CString strMsg = "Cannot connect to data source";

AfxMessageBox(strMsg);
if(pDataSource)
{
pDataSource->Close();
}
goto ErrorExit;
}
else
{
if (pSession && pSession->Open(*pDataSource) != S_OK)
{
AfxMessageBox(_T("Couldn't create session on data source"));
goto ErrorExit;
}
}
/////////////////////////////////
请指教!
...全文
39 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamknight 2003-06-13
  • 打赏
  • 举报
回复
???
CComBSTR bstrPassword("****");
linghushaonian 2003-06-13
  • 打赏
  • 举报
回复
还是不行啊,各位请继续帮忙,始终无法连上,莫名其妙
linghushaonian 2003-06-13
  • 打赏
  • 举报
回复
CComBSTR bstrPassword("****");
是我敲上来的时候省略了的;
另外我通过CoInitializeEx(NULL, COINIT_MULTITHREADED);已经成功的初始化了环境,不知道还缺什么就是连不上,但以上代码在另外一个系统工作正常
commandos 2003-06-12
  • 打赏
  • 举报
回复
up
cpp 2003-06-12
  • 打赏
  • 举报
回复
先AfxOleInit();
linghushaonian 2003-06-12
  • 打赏
  • 举报
回复
to skybblue(天蓝) :对不起没明白你的意思,是另外还需要什么样的初始化函数?
我调试发现是if(FAILED(pDataSource->Open(_T("SQLOLEDB.1"), &dbinit))) 中open失败,不知道为什么
skybblue 2003-06-12
  • 打赏
  • 举报
回复
你初始Com环境了吗?或者调用了Ole初始化函数了吗?

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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