2012-07-19 1 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: имя [Microsoft] [ODBC Driver Manager] Источник данных не найден и драйвер по умолчанию не указано

Если код скомпилирован как 64-битное приложение. вопрос в том, почему тот же код сбой в 64-битном приложении?

ответ

5

Чтобы избежать этого исключения, вы должны установить MySQL ODBC driver for 64 bits.

+2

+1. Я сказал это в комментарии (я скоро его удалю), но у меня нет ссылки, поэтому я не опубликовал ответ. :-) –