在64位机子上,通过ADO方式连接sql server2008数据库

allen12345 2014-11-10 02:45:06
我用 VC2010,通过ADO方式连接sql server2008数据库,出现异常(win7 64位),32位的话就没问题,该怎么办?
...全文
435 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen243654 2015-03-26
  • 打赏
  • 举报
回复
是不是WIN7 sp1编译,WIN7运行,这种系统编译版本比运行版本高的问题? 解决办法如下: 1、下载: http://download.microsoft.com/download/6/4/3/64318ED2-7E18-4A5C-80E2-9BDA0DF02DB3/msado60_Backcompat_i386.tlb 2、相关代码导入修改为: 把下载的msado60_Backcompat_i386.tlb 改为msadmsado60_Backcompat.tlb #import "msadmsado60_Backcompat.tlb" no_namespace rename ("EOF","EndOfFile")
allen12345 2014-11-12
  • 打赏
  • 举报
回复
连接字符串中,把端口后面的数据库实例名去掉就可以连接,奇怪了,XP下正常。
赵4老师 2014-11-11
  • 打赏
  • 举报
回复
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
zyq5945 2014-11-10
  • 打赏
  • 举报
回复
或者加异常捕获看是什么错误
try
{
//你的ADO代码
}
catch (_com_error& e)
{
CString strMsg;
strMsg.Format(_T("错误描述:%s\n错误消息%s"), 
		(LPCTSTR)e.Description(),
		(LPCTSTR)e.ErrorMessage());
AfxMessageBox(strMsg);
}
lis2012 2014-11-10
  • 打赏
  • 举报
回复
什么异常信息?写清楚点

4,012

社区成员

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

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