DELPHI 7.0 开发的老程序,移到 Windows 7 系统后,不能运行了。解决方法

DELPHI 7.0 开发的老程序,移到 Windows 7 系统后,不能运行了。
内容有点长,我尽量把环境和问题描述清楚,希望大家能耐心看下去。
-------------------------
一个用户的老程序(暂叫 程序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 就在本机上测试,发现程序无法运行(普通用户和管理员均试过),启动报错,先是程序作者的错误提示,就不帖了,最后出的是程序报错信息,如下:

SQL code
于是我又做了如下试验,把上面的这台电脑我设为
    电脑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。

------解决方案--------------------
帮顶,没搞数据库
我的程序是在WIN7上开发,在XP上运行的,经常会出现不兼容的情况,一个小问题要调试老半天
------解决方案--------------------
win7机器上是否有sql2000和sq2005共存的问题
我有个这样的系统,说什么也连不上数据库,网上所有的方法都试过无效,无奈,只保留一个2005,通过
------解决方案--------------------
估计还是和BDE有关,
------解决方案--------------------
不可能,程序中可能设置了什么设置了
楼主可以将这个Borlndmm.dll文件也复制到程序文件夹下试试吧
------解决方案--------------------
可以确定的是,Win7+D7+MSSQL连接是没问题的

自己可以一步步排除
比如, 打开Delphi 7,试试ADO连接,试试BDE连接,BDE连接又试试连接系统的DBDEMOS...
连接不上都会有错误提示的,自己看着办了

------解决方案--------------------
程序可以在win7下编译通过吧,如果可以正常编译就单步调试一下连接数据库的代码看看,在哪里出错了,找到出错点,就好办了。可以通过bde手动连接数据库试试看。
------解决方案--------------------
楼主数据库 一排的勋章..


有代码装delphi测试最好了, 错误的地方能断点出来
------解决方案--------------------
1、bde这个很老的数据库驱动在win7下,某个注册表或什么的配置方式被禁用了?
2、win7里没有sql的客户端组件?或有但没配好?
------解决方案--------------------
应该可以的,我现在delphi7开发的程序在我Win7系统上运行没问题,程序中访问数据库用的是ADO
------解决方案--------------------
我的程序也是不兼容
换XE2试试