ODBC Driver for PostgreSQL のインストールとトラブルシューティング

Bilal Shahid 2023年6月20日
  1. ODBC ドライバーとは
  2. ODBC ドライバーのインストール方法
  3. ODBC ドライバーを PostgreSQL 用にセットアップする
  4. ODBC ドライバーを使用する際の一般的な問題
ODBC Driver for PostgreSQL のインストールとトラブルシューティング

DBMS に信じられないほど高いパフォーマンスを提供する追加の接続を取得するのに役立つ何かを探している場合、ODBC ドライバは非常に役立ちます。 ただし、少し問題がある場合は、すべての答えを見つけるのに適した場所にいます.

ODBC ドライバーとは

Microsoft Open Database Connectivity、または ODBC ドライバーは、外部アプリケーションが PostgreSQL などのデータベース管理システムからデータにアクセスできるようにするシステムです。 その助けを借りて、PostgreSQL とリンクするように設計されていない場合でも、サードパーティ ソフトウェアを使用してデータをインポート、エクスポート、または編集できます。

データは好きなように移動でき、アプリケーションは実行中のデータベースにバインドする必要はありません。

ODBC ドライバーのもう 1つの利点は、エンド ユーザーが ODBC ドライバーを持っている限り、任意のデータベースにアクセスできるデータベース アプリケーションを簡単に作成できることです。 全体として、ODBC ドライバーは、複数の同時接続を持つデータベース サーバーに一貫したインターフェイスを提供します。

ODBC ドライバーのインストール方法

ODBC ドライバーをインストールする準備ができている場合は、これで十分です。 理想的には、PostgreSQL の公式の ODBC ドライバーである psqlODBC を選択する必要があります。

3つの方法のいずれかを使用して、Windows システムに psqlODBC をインストールできます。

MSBuild ファイルを使用して PowerShell に psqlODBC をインストールする

この方法は、多くの場合、最も信頼性が高く、簡単に実行できるため、最も推奨されます。

  1. システムでコマンド プロンプトまたは PowerShell コンソールを開き、C:\psqlodbc\winbuild\> (Powershell) ./BuildAll.ps1 <options> または C:\psqlodbc\> (コマンド プロンプト) を使用してドライバーをインストールします。 \BuildAll.bat <オプション>.

  2. 必要に応じて、PowerShell の実行ポリシーを RemoteSigned または Unrestricted に設定する必要があります。 Get-ExecutionPolicyと入力します。

    現在 "Restricted" または "AllSigned" として設定されている場合は、必要に応じて "RemoteSigned""Unrestricted" と交換できる Set-ExecutionPolicy RemoteSigned を使用して変更します。

  3. 次に、Visual Studio 2015 Non-Express Edition または Express 2015 をインストールします。 2013 または 2012 バージョンをいつでも選択できます。

    別の方法としては、Full Microsoft Visual C++ 2010 または Windows SDK 7.1 があります。 必要に応じて、いつでも複数インストールして、最適なものを使用できます。

    インストール時に x64 および x84 開発ツールを含めるようにしてください。

  4. .\editConfiguration(.ps1) と入力して、ビルド環境をセットアップします。 これを好きなように編集するか、デフォルトのままにしておくことができます。

  5. 次に、VC10 環境でコンパイルした場合は、.\BuildAll(.ps1) または .\BuildAll(.ps1) -V(CVersion) 10.0 を使用してビルド操作を呼び出します。

  6. 必要に応じて、.\regress(.ps1) または .\regress(.ps1) -(platform) x64 を使用して回帰テストを実行することもできます。

  7. 最後に、C:\psqlodbc\> (コマンド プロンプト) .\buildInstallers.bat <options> または C:\psqlodbc\installer\> (Powershell) ./buildInstallers を使用して、.msi インストーラー ファイルをインストールします。 ps1 <オプション>.

nmake makefiles または Visual Studio IDE を使用して、コマンド ラインでビルドすることもできます。 nmake makefiles の場合、NMAKE.exe を使用してドライバーをビルドし、.msi インストーラー ファイルをインストールします。

ODBC ドライバーを PostgreSQL 用にセットアップする

PostgreSQL 用の ODBC ドライバーのセットアップは、多くの場合、インストール プロセスよりも簡単ですが、単純化するために一度説明することをお勧めします。

まず、ODBC Data Source Administrator を使用して ODBC を構成します (DNS が理想的です)。 次に、オブジェクトをデータベースに接続し、新しいチャネルを作成するか、既存のチャネルを使用します。

ソースが翻訳者からのものであり、宛先がチャンネルであることを確認してください。

PostgreSQL 用に新しい ODBC データ ソースをセットアップする場合は、最新の PostgreSQL ODBC ドライバーがすべてインストールされていれば、簡単にセットアップできます。 インストール後、ODBC アドミニストレーターを開き、"管理者として実行" を選択します。

システム DSN タブで、"追加" をクリックし、インストールした ODBC ドライバーを選択して、完了 をクリックします。 最後に、ODBC の資格情報を入力します。

データ ソースと説明は任意に設定できますが、ポートはデフォルトの5432のままにしておくことをお勧めします。 サーバー フィールドについては、PostgreSQL サーバーのネットワーク名と同じである必要があります。

ユーザー名とパスワードを入力したら、テストをクリックして、すべてが正常に機能していることを確認してから、保存します。

ODBC ドライバーを使用する際の一般的な問題

ODBC ドライバーが正常に動作していないためにエラーが発生する場合があります。 発生する可能性のある問題と、それらを解決するための可能な方法を次に示します。

PostgreSQL がサーバーとして表示されない

ユーザー DSN を追加するときに PostgreSQL のオプションが表示されない場合は、ODBC ドライバーの 64 ビット バージョンが不足している可能性があります。 これは PostgreSQL インストーラーには付属していないため、インストールすることで問題を解決できます。

DSN の設定

人々は、通常のコントロール パネルまたは ODBC データ ソース管理者でそれを構成しようとします。 ただし、これは常に機能するとは限りません。

実行 に移動し、32 ビット システムの場合は "%SystemRoot%\syswow64\odbcad32.exe" と入力して、ODBC DSN を構成する必要がある場合があります。 この後、ODBCに移動し、システム DSNタブでPostgreSQL Unicodeを選択します。

32 ビット バージョンが機能しない

ODBC ドライバーは、OS ではなく、ソフトウェア クライアントのバージョンに基づいてインストールされます。 これは、OS64 ビット で、ソフトウェアが 32 ビット の場合、ODBC ドライバーの 64 ビット バージョンは機能しないことを意味します。

データ ソース接続が失敗する

これは、サーバー名またはポート番号のエラーが原因で発生する可能性があります。 サーバーは、常に PostgreSQL サーバーのネットワーク名にする必要があります。

ポート番号については、別の番号を選択する必要があるかどうかわからない場合は、デフォルトのままにしておくことをお勧めします。 デフォルトのポート番号は 5432 です。

PostgreSQL 用のODBCドライバーは、使い方を知っていれば素晴らしいものになります。 この記事で、開始に必要なすべての手順を説明したことを願っています。

著者: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub