0

Delphi で ADO を操作する方法を学びたいです。データベースに接続していくつかのクエリを実行するだけの Delphi 7 アプリケーションを作成しようとしています。「データベースへの接続」部分自体で立ち往生しています。

データベースとして Delphi 7 と PostgreSQL 9.2 を使用しており、OS は Windows 7 です。

ここから PostgreSQL OLE DB プロバイダーをダウンロードし、readme の指示に従って登録しました。

インストール手順: このソフトウェアをインストールするには、PGOLEDB.DLL と LIBPQ.DLL をシステム ディレクトリにコピーします。次に、管理者として「regsvr32 PGOLEDB.DLL」を実行します。「登録に成功しました」というダイアログ メッセージが表示されます。

次に、次のようにデータベースに接続しようとしました-

interface
const
    ConnectionString : string = 'Provider=PostgreSQL OLE DB Provider;Data Source=localhost;' +
                                'User ID=postgres;password=sd123;timeout=50000;';

implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
    Connection.ConnectionString := ConnectionString;
    Connection.LoginPrompt := true;
    Connection.Connected := true;
end;

プログラムを実行すると、ログイン プロンプトが表示されません。代わりに、「サーバーからの認証要求が予期されましたが、受信しました -」というエラーが表示されます。インターネットで解決策を見つけようとしましたが、何も見つかりませんでした。このエラーを解決するにはどうすればよいですか?

4

1 に答える 1

0

PostgreSQL OLE DB ドライバーは非常に古く、サポートされていません。個人的には、私はそれをうまく使うことができませんでした。http://www.postgresql.org/ftp/odbc/versions/msi/から最新の 32 ビット ODBC ドライバーをダウンロードしてインストールし、代わりにそれを使用します。Delphi の ADO では、ODBC 用の OLE DB ドライバーを使用し、PostgreSQL ODBC ドライバーを使用するように構成する必要がありますが、接続ダイアログからすべてを構成できます。

于 2013-10-02T01:42:24.517 に答える