程序运行在64位机器上用ODBC连接数据库,如果使用系统默认的ODBC管理器设置DSN,则在程序连接数据库时会报"数据源找不到名称和 指定的默认驱动程序"的错误,面板上没有MySQL驱动的条目,设置好的数据源也没有显示在Delphi ConnectString数据源列表中。
原因:你的程序找的是32位的ODBC管理器创建的DSN,所以即使你在默认的ODBC管理器中建立了DSN,它仍然是找不到的。
解决办法是:使用32位的ODBC管理器来创建DSN,根据MSDN(942976)http://support.microsoft.com/kb/942976/zh-cn中的提示,
Odbcad32.exe 文件 32 位版本位于 %systemdrive%\Windows\SysWoW64 文件夹中。
Odbcad32.exe 文件 64 位版本位于 %systemdrive%\Windows\System32 文件夹中。
32位的ODBC管理器在SysWow64文件夹中,进入该文件夹你就能找到Odbcad32.exe,建立数据连接,再用程序连。
建议同时安装win32,win64的ODBC驱动。