DELPHI 7.0 开发的老程序,移到 Windows 7 系统后,不能运行了。 本帖最后由 apple_8180 于 2012-05-12 16:28:17 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个朋友用他的 Windows 7 系统帮忙试了一下,居然可以运行,难道是我的这个用户的 Windows 7 不支持?(用户的系统的确不是标准的,是从微软定制的,不过目前未发现不能运行的程序)我朋友的的环境与我用户的环境不同如下:朋友: 正常的 Windows 7系统 安装了 DELPHI 7.0用户 定制的 Windows 7系统 未安装 DELPHI 7.0下一步我安装一下 DELPHI 7.0 试试。 win7机器上是否有sql2000和sq2005共存的问题我有个这样的系统,说什么也连不上数据库,网上所有的方法都试过无效,无奈,只保留一个2005,通过 本帖最后由 apple_8180 于 2012-05-14 10:04:25 编辑 用 Delphi 7.0 手工通过 BDE 连接 SQL Server 2000 也不行,估计是 BDE 的原因。我找一找 BDE 相关的问题。如果有朋友知道是哪个版本的 BDE 可以,麻烦指点一下,多谢了。 不可能,程序中可能设置了什么设置了楼主可以将这个Borlndmm.dll文件也复制到程序文件夹下试试吧 可以确定的是,Win7+D7+MSSQL连接是没问题的自己可以一步步排除比如, 打开Delphi 7,试试ADO连接,试试BDE连接,BDE连接又试试连接系统的DBDEMOS...连接不上都会有错误提示的,自己看着办了 多谢,把 Borlndmm.dll 拷贝到程序当前目录和 System32 下还是不行。我安装了 BDE5.2 ,用 Delphi 建了一个 BDE 连接可以连接数据库了,不过把程序重新编译还是不行。我再研究研究,可能是程序中有特殊的地方。没安装 BDE5.2 之前,用 BDE5.01 时,用 Delphi 通过 BDE 无法连接上数据库。 程序可以在win7下编译通过吧,如果可以正常编译就单步调试一下连接数据库的代码看看,在哪里出错了,找到出错点,就好办了。可以通过bde手动连接数据库试试看。 楼主数据库 一排的勋章..有代码装delphi测试最好了, 错误的地方能断点出来 昨晚我用 Delphi 新建了一个一个 工程A,用 BDE 可以连接数据库了,然后又打开原来程序工程,用其中Database1(原来建的 BDE 连接) 也可以连接。今天早上开机后,先打开原来程序工程,用 Database1 连接不上了,报 General SQL error,再打开昨晚的 工程A,也连接不上,报一样的错。于是再重启电脑后,新建 工程B,可以连接上,再打开原来程序工程,用 Database1 也可以连接。再重启电脑后,先打开原来程序工程,用 Database1 连接不上了,报 General SQL error,再打开 工程B,也连接不上,报一样的错。于重启电脑后,先打开 工程B,可以连接上,再打开原来程序工程,用 Database1 也可以连接。好像很有规律呀。BDE5.01 和 BDE 5.2 都是上面现象。 本帖最后由 apple_8180 于 2012-05-14 10:05:15 编辑 我的测试环境如下:WINXPSP3+DELPHI7+MSSQL2008WIN7SP1+DELPHI7+MSSQL2005同样的一套程序,我测试都是正确的 1、bde这个很老的数据库驱动在win7下,某个注册表或什么的配置方式被禁用了?2、win7里没有sql的客户端组件?或有但没配好? 多谢!1、BDE设置已经按照如下地址的方法设置过了,还有其他设置吗?http://blog.sina.com.cn/s/blog_4f1096500100pazk.html2、win7里已经安装了 SQL Server 2000(SP4),其实就是连接本机的数据库。在 WIN7 下需要特殊配制? 应该可以的,我现在delphi7开发的程序在我Win7系统上运行没问题,程序中访问数据库用的是ADO 我们的这个老程序用的是 BDE 下面链接说的文件在我的 Win 7 的 System 32 下有,而且比 XP 下的更新,想用 XP 下的覆盖 Win 7 的,不让覆盖,权限问题,我的 Win 7 用户是管理员(不是超级管理员),而且可以替换其他文件,这几个文件替换不了。在Win7下运行使用BDE的程序 问题解决了。不是程序的问题,也不是 BDE 的问题,更不是 Win7 的问题。原来是程序目录和源程序目录下的ntwdblib.dll 文件版本问题ntwdblib.dll 文件版本:1998.11.13 产品版本:7.00.623 应该是SQL Server 7.0的文件这个文件换成ntwdblib.dll 文件版本:2000.80.2039 产品版本:8.00.2039 应该是SQL Server 2000的文件就可以了。同时在没有安装 SQL Server 的XP也可以连接了,所有问题都是这个文件版本的原因。 13楼、14楼的现象是因为开机连接时加载的 ntwdblib.dll 文件版本:2000.80.2039 如果开机用老程序不能连接,是因为加载的是 ntwdblib.dll 文件版本:1998.11.13源程序目录也是 ntwdblib.dll 文件版本:1998.11.13,所以调试时也不行。终于解决了,感谢各位的关注!结帖给分。 卡巴斯基源码泄漏!!! 请高手指教:DLL中“结构指针”赋值怪现象 treeview显示数据库的2个表 请教 Delphi中如何将数据库中数据导出 关于应用服务器的超难问题,高手快来! cmd.CommandText:='drop database :dbName';出错,生成的sql不能执行。 如何实现在delphi中打开外挂的图片浏览器浏览表单中的图片? 请问。如和实现一个文件包含其他.exe执行文件。 图片记录怎么存 Delphi6与Delphi5之间的一个难以解决的问题 来个大神教小白入门吧,给跪了 分享一篇CRC校验码生成的源代码
朋友:
正常的 Windows 7系统
安装了 DELPHI 7.0用户
定制的 Windows 7系统
未安装 DELPHI 7.0下一步我安装一下 DELPHI 7.0 试试。
我有个这样的系统,说什么也连不上数据库,网上所有的方法都试过无效,无奈,只保留一个2005,通过
如果有朋友知道是哪个版本的 BDE 可以,麻烦指点一下,多谢了。
楼主可以将这个Borlndmm.dll文件也复制到程序文件夹下试试吧
比如, 打开Delphi 7,试试ADO连接,试试BDE连接,BDE连接又试试连接系统的DBDEMOS...
连接不上都会有错误提示的,自己看着办了
我安装了 BDE5.2 ,用 Delphi 建了一个 BDE 连接可以连接数据库了,不过把程序重新编译还是不行。我再研究研究,可能是程序中有特殊的地方。没安装 BDE5.2 之前,用 BDE5.01 时,用 Delphi 通过 BDE 无法连接上数据库。
有代码装delphi测试最好了, 错误的地方能断点出来
WINXPSP3+DELPHI7+MSSQL2008
WIN7SP1+DELPHI7+MSSQL2005
同样的一套程序,我测试都是正确的
2、win7里没有sql的客户端组件?或有但没配好?
1、BDE设置已经按照如下地址的方法设置过了,还有其他设置吗?
http://blog.sina.com.cn/s/blog_4f1096500100pazk.html
2、win7里已经安装了 SQL Server 2000(SP4),其实就是连接本机的数据库。在 WIN7 下需要特殊配制?
在Win7下运行使用BDE的程序
不是程序的问题,也不是 BDE 的问题,更不是 Win7 的问题。
原来是程序目录和源程序目录下的ntwdblib.dll 文件版本问题ntwdblib.dll 文件版本:1998.11.13 产品版本:7.00.623 应该是SQL Server 7.0的文件这个文件换成
ntwdblib.dll 文件版本:2000.80.2039 产品版本:8.00.2039 应该是SQL Server 2000的文件就可以了。
同时在没有安装 SQL Server 的XP也可以连接了,所有问题都是这个文件版本的原因。
是因为开机连接时加载的 ntwdblib.dll 文件版本:2000.80.2039
如果开机用老程序不能连接,是因为加载的是 ntwdblib.dll 文件版本:1998.11.13源程序目录也是 ntwdblib.dll 文件版本:1998.11.13,所以调试时也不行。终于解决了,感谢各位的关注!结帖给分。