vc 连接数据库CreateInstance失败问题

下面是在微软MSDN官网查到的类似问题的答疑,具体网址如下
http://social.msdn.microsoft.com/Forums/vstudio/en-US/701d05aa-e8d2-4f46-8cc1-448a8d35bd37/windows-7-sp1-ado-compatibility
内容:
Windows 7 SP1 ADO Compatibility  
Visual Studio Languages forums  >  Visual C++
Question


0
Sign in to vote
Hi:
I am a little confused, the same code compiled on different platforms(Windows 7,Windows 7 SP1 ,Windows XP SP3) have different results with VC2010 professional
 _ConnectionPtr m_pConn;
m_pConn.CreateInstance(__uuidof(Connection));
compiled  on Windows 7 or  Windows XP SP3 , normal work.But complied on Windows 7 SP1,only run Windows 7 SP1,doesn't work on other computers without Win7 SP1,  after m_pConn.CreateInstance(__uuidof(Connection)),result :m_pConn == NULL!


Monday, February 28, 2011 6:32 AM
Reply | Quote |

default20110 Points
Answers


0
Sign in to vote
Hi:

This is Windows 7 32bit! Install SP1 ,msado15.dll version:6.1.7601.17514. old version :6.1.7600.16385 of without SP1!

KB983264 contain : Msado15.dll 6.1.7600.20701 !

SO, If ADO program compiled on Windows 7 SP1 ,your ADO program can work on a computer with KB983246 or install Windows 7 SP1!

OK,Thanks !

 

Wednesday, March 02, 2011 3:11 AM
Reply | Quote |

default20110 Points
All replies


0
Sign in to vote
Explain what "doesn't work" means.

m_pConn.CreateInstance() returns an HRESULT if it fails. What is its value?

Monday, February 28, 2011 4:57 PM
Reply | Quote |

Brian Muth (MCC, MVP) 49,380 Points
 

0
Sign in to vote
Hi:

Becuse I compiled  on Windows 7 SP1,application only work the computer with Windows 7 SP1!or else m_pConn.CreateInstance() failed! HRESULT value: -2147467262

 

Tuesday, March 01, 2011 1:32 AM
Reply | Quote |

default20110 Points
 

0
Sign in to vote
i think first of all you check whether your windows 7 is 64 bit or 32 bit. if it is 64 bit and you have 64 bit driver used for database access i.e(check paths from program files or Program files(x86) it should be program files(x86) for 32 bit application  on windows 7 64 bit).  it is also worth checking whether you have proper version of drivers for ADO for 32 bit if your application is 32 bit and 64 bit if your application is 64 bit. By default Windows7 only install one of them depend on windows version at a time.

 

Fahd Anwar
Tuesday, March 01, 2011 10:54 AM
Reply | Quote |

Fahd Anwar فہد انورElixir Technologies Paki...315 Points
 

0
Sign in to vote
Hi:

Becuse I compiled  on Windows 7 SP1,application only work the computer with Windows 7 SP1!or else m_pConn.CreateInstance() failed! HRESULT value: -2147467262

 


That value is 0x80004002, which is "No such interface is supported". There is something odd here. I'm wondering if you are using the #import directive on a version of ADO which is not available on earlier versions of the operating system.
Tuesday, March 01, 2011 5:04 PM

Reply | Quote |

Brian Muth (MCC, MVP) 49,380 Points
 

0
Sign in to vote
Hi:

This is Windows 7 32bit! Install SP1 ,msado15.dll version:6.1.7601.17514. old version :6.1.7600.16385 of without SP1!

KB983264 contain : Msado15.dll 6.1.7600.20701 !

SO, If ADO program compiled on Windows 7 SP1 ,your ADO program can work on a computer with KB983246 or install Windows 7 SP1!

希望能给碰到类似问题的有点作用!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值