求教一个创建Connection对象失败的问题

ayiyi0910 2013-04-11 03:08:48
代码如下
BOOL ADOConn::LinkDB()
{
// 初始化OLE/COM库环境
if( !m_bCoInitialize)
{
if( S_OK != ::CoInitialize(NULL))
{
AfxMessageBox(_T("初始化COM库错误!"));
}
else
{
m_bCoInitialize = true;
AfxMessageBox(_T("初始化COM库成功!"));
}
}

try
{
// 创建Connection对象
HRESULT hr = m_pConnection.CreateInstance("ADODB.Connection");
if( SUCCEEDED( hr))
{
..........
}
else
{
CString strTemp;
strTemp.Format(_T("创建Connection对象失败! %d"), hr);
AfxMessageBox(strTemp);
}
........
程序在本地可以正常运行, 把生成的exe放到其他电脑上运行,如果电脑装了vs的话,可以正常运行,没有装的话就会创建Connection对象失败, 打印的hr为-2147467262, 求教一下是什么原因
1. 初始化COM库成功是成功的
2. 工程的配置属性->常规里我也把MFC的使用设成“在静态库中使用MFC”了
...全文
226 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiuYinChina 2013-04-16
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/robertbaker/4726297
南安风语者 2013-04-16
  • 打赏
  • 举报
回复
楼主的帖子发错地方了吧 这是win7的一个BUG http://www.jdzj.com/data/program/4488.htm 你把代码放到win2000下去编译肯定可以的
ayiyi0910 2013-04-11
  • 打赏
  • 举报
回复
是以静态库发行的, 你的方法在我本地运行的时候 m_pConnection->Open时候会出错,AfxMessageBox(e.Description())显示出的错误信息是空
华美乐章 2013-04-11
  • 打赏
  • 举报
回复
if (!SUCCEEDED(m_pRecordset.CreateInstance(__uuidof(Recordset)))) 这么创建试试. 看看你ADO引用的路径在该电脑上是不是一致的? 2.是不是和Release版本发布有关,你不是以静态库发行的?
ayiyi0910 2013-04-11
  • 打赏
  • 举报
回复
装了数据库 无效的ID? 1楼可以说清楚一点不, 谢谢
青松2 2013-04-11
  • 打赏
  • 举报
回复
目标机子没装数据库?
zyrr159487 2013-04-11
  • 打赏
  • 举报
回复
帮顶, -2147467262 = 0xFFFFFFFF80004002,E_NOINTERFACE 0x80004002 No such interface is supported 无效的ID

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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