2012-07-19 88 views
1

當我在32位delphi應用程序中運行此代碼時,與MySql的連接已成功建立。TADOConnection在delphi xe2中不工作64位

{$APPTYPE CONSOLE} 

{$R *.res} 

uses 
    AdoDb, 
    ActiveX, 
    SysUtils; 

Var 
    LConn : TADOConnection; 
begin 
    try 
    CoInitialize(nil); 
    try 
     LConn:=TADOConnection.Create(nil); 
     try 
     LConn.ConnectionString:='Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Database=mysql;User=*****; Password=*****;Option=3'; 
     LConn.Connected:=True; 
     Writeln('Connected'); 
     finally 
     LConn.Free; 
     end; 
    finally 
     CoUninitialize; 
    end; 
    except 
    on E: Exception do 
     Writeln(E.ClassName, ': ', E.Message); 
    end; 
    Readln; 
end. 

但相同的代碼代碼失敗與此異常

EOleException:[微軟] [ODBC驅動程序管理器]數據源名稱未 發現並沒有指定默認驅動程序

如果該代碼被編譯爲64位應用程序。問題是爲什麼相同的代碼在64位應用程序中失敗?

回答

5

爲避免此異常,您必須安裝MySQL ODBC driver for 64 bits

+2

+1。我在評論中說過(我馬上會刪除它),但沒有鏈接,所以我沒有發佈答案。 :-) – 2012-07-19 03:13:52