Delphi 7编写MySQL的程序用ADO控件出现“灾难性故障”

在ADO Connection控件测试的时候都是测试成功的,实际运行后出现“灾难性故障”的提示。

网上查阅了下原因,是MySQL的ODBC驱动有问题,更换了一个MyODBC-3.51.03.exe,程序就正常了。

后来发现,直接写ADO Connection控件的链接字符串,加上“Extended Properties”也可以正常。

例如:

用控件的向导做出的链接字符串是:

Provider=MSDASQL.1;Password=aaa;Persist Security Info=True;User ID=db;Data Source=db

添上:Extended Properties="DSN=xxxdb;UID=db;PWD=aaa;"

Provider=MSDASQL.1;Password=aaa;Persist Security Info=True;User ID=db;Data Source=db;Extended Properties="DSN=xxxdb;UID=db;PWD=aaa;"
也可以成功连接数据库。(20181128)

再有解决方法:(20190402)

双击ADOConnection控件,在弹出的数据链接属性对话框里,“提供程序”标签页上选择“MicroSoft OLE DB Provider for ODBC Drivers”,然后点“下一步”,在“连接”标签页里的“指定数据源名称”下拉框里选择配置好的ODBC数据源名称,然后不要在“输入要使用的初始目录”下拉框中选择数据库名称,而是直接点“确定”结束设置,否则打开ADOConnection连接时就会报“灾难性故障”这个错误。“连接”标签页里不需要输入用户名和密码,也可以输入登录MySql的用户名和密码。

方法来源:http://www.cnblogs.com/netbug/archive/2007/06/29/256584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值