内容有点长,我尽量把环境和问题描述清楚,希望大家能耐心看下去。
-------------------------------------------------------------
一个用户的老程序(暂叫 程序A.exe),用 DELPHI7.0 开发的,数据库用的是 SQL Server 2000,运行环境如下:
Windows XP Professional 32 位 (SP3) 和 Windows 2000 Professional 32 位 (SP4)
Borland Database Engine 版本是 5.01
SQL Server 2000 (SP4)
运行一直没有问题,现在用户总部要求:
1、所有操作系统换成 Windows 7 企业版32位(SP1)
2、SQL Server 2000 因为微软去年11月停止服务了,所以用户单位也不让用了,必须换成 SQL Server 2005 或更高。
我在用户提供的机子上(Windows 7 企业版32位(SP1))安装了 SQL Server 2000 (SP4)和Borland Database Engine 5.01,
BDE设置已经按照如下地址的方法设置过了
http://blog.sina.com.cn/s/blog_4f1096500100pazk.html
程序A.exe 就在本机上测试,发现程序无法运行(普通用户和管理员均试过),启动报错,先是程序作者的错误提示,就不帖了,最后出的是程序报错信息,如下:
于是我又做了如下试验,把上面的这台电脑我设为
电脑A:Windows 7 企业版(SP1)32位 + Borland Database Engine 5.01 + SQL Server 2000 个人版(SP4)
另外3台电脑,分别为:
电脑B:Windows 7 企业版(SP1)32位 + Borland Database Engine 5.01(未安装 SQL Server)
电脑C:Windows XP 专业版(SP3)32位 + Borland Database Engine 5.01 + SQL Server 2000 个人版(SP4)
电脑D:Windows XP 专业版(SP3)32位 + Borland Database Engine 5.01(未安装 SQL Server)
1、电脑A、B、C、D分别运行 程序A.exe,连接电脑C的(XP系统)数据库,结果是:
电脑C、电脑D中的 程序A.exe 均可以正常运行。
电脑A和电脑B,程序A.exe 启动报错。错误信息同上。
2、电脑A、B、C、D分别运行 程序A.exe,连接电脑A的(WIN7系统)数据库,结果是:
电脑C中的 程序A.exe 均可以正常运行。
电脑D中的 程序A.exe 启动报错,错误信息和 WIN7 的错误差不多,如下:
奇怪的是,为什么电脑C就可以呢,这2台电脑的区别就是电脑C安装了SQL Server,但没有启动 SQL Server 服务,并且连接均是电脑A,电脑D好像连接不上电脑A,因为等了很久才出来报错,像是连接超时了,但手工配制 ODBC 却是可以连接电脑A的。
后将电脑D安装了 SQL Server 2000,发现电脑D也能连接电脑A了。
总结:WIN7系统的 程序A.exe 不能连接任何一台电脑的数据库(WIN7系统的数据库和XP系统的数据库),XP系统 (电脑C、电脑D)的 程序A.exe 可以连接WIN7系统的数据库和XP系统的数据库,但要安装 SQL Server 2000,这个可能与 程序A.exe 有关。
我感觉是 BDE 5.01 不支持 Win 7?
请各位帮忙看看,是要升级 BDE,还是要卸载原来的 BDE 后安装高版本的 BDE?具体用哪个版本?下载地址?
发此帖的同时,我也在努力联系此程序的作者。希望得到好的消息。
多谢了!
我的想法先在 WIN7 32位+SQL Server 2000上运行起来,再进行下一步,下一步把数据库升级到 SQL Server 2005。