在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