1

このコードを 32 ビットの Delphi アプリケーションで実行すると、MySql への接続が正常に確立されます。

{$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 ビット アプリケーションで失敗するのかということです。

4

1 に答える 1

5

この例外を回避するには、64 ビット用の MySQL ODBC ドライバーをインストールする必要があります。

于 2012-07-19T03:11:44.623 に答える