在线求助! 我在32位的xp系统下编译的MFC数据库程序(SQLServer 2008),在64位的WinServer 2003连接数据库失败

独孤_子喻 2015-09-14 12:32:40
恳请各位帮忙分析指点,实在是搞不定了!不甚感激!!

该软件是我们教研室给一个研究所做的。 那边系统是64位的WinServer 2003的虚拟机,数据库一样:SQLServer 2008 。
我在32位的xp系统下编译的MFC数据库程序(SQLServer),在我所测试的所有32位的XP/win7系统上都能正常访问数据库(都是本地,远程也了可以)。

目前问题是: 在64位的WinServer 2003的虚拟机 始终连不上数据库(本地都搞不定!)。 对SQLServer 2008的配置仔细确认过,应该是没配置错的。
我的怀疑: 1、在32位机上编译的该数据库软件是否能直接在64位机上运行/连接数据库? 是否需要什么额外的操作?
2、如果不是1的问题,那么估计就是他们服务器本身的配置问题?(而不是数据库SQLServer 2008的配置问题?)(研究所的该负责人什么的不知道,对他们的服务器配置我也不太清楚,关键是研究所,做什么都麻烦!!!)

...全文
134 16 打赏 收藏 举报
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
独孤_子喻 2015-09-15
引用 14 楼 airsoft 的回复:
问题还没有解决吗?本人在在实际应用中ADO是没怎么使用,今天科普一下相关的知识,希望下面这个能给你一些帮助。 http://blog.csdn.net/harvic880925/article/details/7768396
非常感谢! 还没搞定呢,由于没有系统的学习过数据库连接方面的知识,所以实际操作中各种疑难杂症不知如何入手! 准备明天去研究所调试下,看看情况再说,目前主要是我这边复现不了问题,所以不知道到底是哪一步出了问题。
  • 打赏
  • 举报
回复
独孤_子喻 2015-09-15
引用 13 楼 Tiger_Zhao 的回复:
一般64位 Windows 跑32位程序没什么问题,只要确认把32位驱动装上就行。 但是 Windows Server 恰恰是各种限制选项开启得最多的版本,还真不好说。
嗯,谢谢你! 准备明天去所里调试下再看具体情况!
  • 打赏
  • 举报
回复
Haytor 2015-09-15
问题还没有解决吗?本人在在实际应用中ADO是没怎么使用,今天科普一下相关的知识,希望下面这个能给你一些帮助。 http://blog.csdn.net/harvic880925/article/details/7768396
  • 打赏
  • 举报
回复
Tiger_Zhao 2015-09-15
一般64位 Windows 跑32位程序没什么问题,只要确认把32位驱动装上就行。
但是 Windows Server 恰恰是各种限制选项开启得最多的版本,还真不好说。
  • 打赏
  • 举报
回复
独孤_子喻 2015-09-15
引用 10 楼 yangb0803 的回复:
1、在32位机上编译的该数据库软件是否能直接在64位机上运行/连接数据库? 建议你在64位系统上重新编译该软件, 编译一个目标平台为 any cpu 的,再编译一个目标平台为 x64的 分别测试。
嗯,谢谢! 准备想办法搭建一个与对方完全一样的环境试试,要不然总是复现不了问题
  • 打赏
  • 举报
回复
独孤_子喻 2015-09-15
引用 8 楼 Tiger_Zhao 的回复:
ADO 就是 32 位的啊。
我的软件是在自己的机子上开发测试的(32位系统32位 SQLServer),但对方环境是64位系统,64位数据库。 不知道这样会不会有各种不问题
  • 打赏
  • 举报
回复
独孤_子喻 2015-09-15
引用 8 楼 Tiger_Zhao 的回复:
ADO 就是 32 位的啊。
嗯,谢谢。 (彻底小白了,懂得太少)
  • 打赏
  • 举报
回复
道玄希言 2015-09-15
1、在32位机上编译的该数据库软件是否能直接在64位机上运行/连接数据库? 建议你在64位系统上重新编译该软件, 编译一个目标平台为 any cpu 的,再编译一个目标平台为 x64的 分别测试。
  • 打赏
  • 举报
回复
Tiger_Zhao 2015-09-15
ADO 就是 32 位的啊。
  • 打赏
  • 举报
回复
独孤_子喻 2015-09-15
引用 3 楼 Tiger_Zhao 的回复:
32位程序需要用32位驱动连接数据库。 你可以用 %systemroot%syswow64odbcad32.exe 来启动32位的odbc控制面板,用它建DNS做测试,能否连通? 否则需要安装32位的驱动。
你好! 我想问下我使用的ADO连接方式,会存在你所说的这样的问题吗? 或者还会不会有其他问题呢? 比如ADO库版本问题等? (因为我这边无法搭建和对方完全一样的环境,所以测试不太方便,只能先有几个解决方案了再去对方调试) 谢谢你了!
  • 打赏
  • 举报
回复
独孤_子喻 2015-09-14
引用 5 楼 airsoft 的回复:
就像Tiger_Zhao 回复的一样,如果网络没有问题,你是用ODBC链接数据的方式,那么确认一下ODBC数据源相应的32位驱动是否已安装,或者你可以修改连接数据库方式。
我用的是ADO连接方式,应该道理是相同的吧? 嗯, 应该首先确认下32位确定是否安装的问题? 另外这和32位或64位数据库引擎有关吗?
  • 打赏
  • 举报
回复
Haytor 2015-09-14
就像Tiger_Zhao 回复的一样,如果网络没有问题,你是用ODBC链接数据的方式,那么确认一下ODBC数据源相应的32位驱动是否已安装,或者你可以修改连接数据库方式。
  • 打赏
  • 举报
回复
独孤_子喻 2015-09-14
引用 3 楼 Tiger_Zhao 的回复:
32位程序需要用32位驱动连接数据库。 你可以用 %systemroot%syswow64odbcad32.exe 来启动32位的odbc控制面板,用它建DNS做测试,能否连通? 否则需要安装32位的驱动。
所谓驱动是指 数据库引擎吗? 在网上有看到说 在环境 “window8(x64),vs2012,Access2013(x64),使用的技术MFC+ADO”下,开始数据库引擎为64位,连接不成功,后来换为32位引擎,成功了。 准备试下是不是这个问题
  • 打赏
  • 举报
回复
Tiger_Zhao 2015-09-14
32位程序需要用32位驱动连接数据库。
你可以用 %systemroot%syswow64odbcad32.exe 来启动32位的odbc控制面板,用它建DNS做测试,能否连通?
否则需要安装32位的驱动。
  • 打赏
  • 举报
回复
独孤_子喻 2015-09-14
引用 1 楼 airsoft 的回复:
先检查一下你的虚拟机到数据库服务器的网络是否是通,测试方法ping你的数据库服务器的IP地址或者telnet 服务器的IP地址加上数据库使用的端口号。
谢谢 ! 首先确实是ping的通的。 那边负责人说他们有一个商业版本的软件正在正常使用该数据库。 我的软件是在我自己的32位的xp生成的relese版本,且我自己的数据库是32位的, 而对方环境是63位系统(数据库是32位还是64位不太清楚,忘确认了!), 不知道这些会不会有影响呢?
  • 打赏
  • 举报
回复
Haytor 2015-09-14
先检查一下你的虚拟机到数据库服务器的网络是否是通,测试方法ping你的数据库服务器的IP地址或者telnet 服务器的IP地址加上数据库使用的端口号。
  • 打赏
  • 举报
回复
发帖
疑难问题

2.1w+

社区成员

MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
加入社区
帖子事件
创建了帖子
2015-09-14 12:32
社区公告
暂无公告