PolarDB for PostgreSQL (Oracle 互換) は、UNIX、Linux、および Windows オペレーティングシステム用の ODBC ドライバーを提供します。このトピックでは、さまざまなオペレーティングシステムで ODBC ドライバーを使用する方法について説明します。
前提条件
PolarDB クラスタにユーザーが作成されます。ユーザーの作成方法については、「データベースアカウントを作成する」をご参照ください。
PolarDB クラスタにアクセスするために使用するホストの IP アドレスは、クラスタのホワイトリストに追加されます。クラスタのホワイトリストに IP アドレスを追加する方法については、「クラスタのホワイトリストを構成する」をご参照ください。
Windows システムは Windows 7 以降であり、Windows 7 Service Pack 1 がインストールされています。
UNIX または Linux OS の場合、次のツールがインストールされていることを確認します。
Libtool 1.5.10 以降。
unixODBC-devel
ドライバー パッケージをダウンロードする
オペレーティング システムのバージョン | プロセッサアーキテクチャ | ODBC ドライバー パッケージ |
UNIX/Linux 8 | X86_64 | |
ARM64 | ||
UNIX/Linux 7 | X86_64 | |
ARM64 | ||
Windows 7 以降 | X86_64 | |
X86_32 |
Windows で ODBC ドライバーを使用する
POLARDB ODBC ドライバーをインストールする
Windows オペレーティング システムに基づいてドライバー パッケージをダウンロードします。詳細については、「ドライバー パッケージをダウンロードする」をご参照ください。
右クリックするか、
polardb2_odbc_*_*.msi
ファイルを管理者として実行して、ODBC インストールを完了します。
ODBC ドライバーを使用して PolarDB に接続する
[コントロール パネル] で、[管理ツール] を開きます。
[管理ツール] ページで、[ODBC データ ソース] をクリックします。
[ODBC データ ソース アドミニストレーター] ダイアログ ボックスで、[追加] をクリックします。
データソースドライバーとして [polardb Unicode (x64)] を選択し、[完了] をクリックします。
表示されるダイアログボックスで、次のパラメーターを構成します。
パラメーター
説明
データソース
データソースの名前。
説明
データソースの説明。
データベース
接続先のデータベースの名前。
SSL モード
SSL ベースの暗号化を有効にするかどうかを指定します。
サーバー
データベースのエンドポイント。PolarDB クラスターのエンドポイントを表示する方法の詳細については、「エンドポイントの表示または申請」をご参照ください。
ポート
データベースに接続するために使用するポート。既定値:1521。
ユーザー名
データベースにログインするために使用するアカウント。
パスワード
データベースにログインするために使用するパスワード。
[テスト] をクリックします。パラメーターが正しく構成されている場合は、接続の成功が通知されます。
[保存] をクリックします。
UNIX または Linux で ODBC ドライバーを使用する
この例では、CentOS オペレーティングシステムを使用しています。他のオペレーティングシステムの場合は、関連するコマンドを適宜調整してください。
POLARDB ODBC ドライバーをインストールする
お使いのオペレーティングシステムに基づいてドライバー パッケージをダウンロードします。詳細については、「ドライバー パッケージをダウンロードする」をご参照ください。
ODBC ドライバーをインストールする インストール パッケージを解凍すると、ODBC ドライバーを使用できます。 パッケージを解凍するには、次のコマンドを実行します。
tar -zxvf polardb-odbc-*-*-*.tar.gz
説明polardb-odbc-*-*-*.tar.gz
を実際のパッケージ名に置き換えます。LD_LIBRARY_PATH 環境変数を構成するには、次のコマンドを実行します。
export LD_LIBRARY_PATH=<PolarDB-ODBC/lib>:$LD_LIBRARY_PATH
<PolarDB-ODBC/lib/> を、解凍したファイルの実際のパスに置き換えます。
ODBCINI 環境変数を構成するには、次のコマンドを実行します。
export ODBCINI=</your odbc.init file path>
Use the ODBC driver to connect to PolarDB
Linux サーバーに Libtool をインストールします。Libtool のバージョンは 1.5.1 以降である必要があります。
yum install -y libtool
Linux サーバーに unixODBC-devel をインストールします。
yum install -y unixODBC-devel
odbc.ini
ファイルを変更します。vim $ODBCINI
odbcinst.ini
ファイルに次の内容を追加します。[POLARDB] Description = ODBC for POLARDB Driver = <PolarDB-ODBC/lib/psqlodbcw.so> Driver64 = <PolarDB-ODBC/lib/psqlodbcw.so> Database = <データベースの名前> Servername = <データベースのエンドポイント> Password = <パスワード> Port = <ポート番号> Username = <ユーザー名> Trace = yes TraceFile = /tmp/odbc.log FileUsage = 1
説明PolarDB クラスタのエンドポイントを表示する方法の詳細については、「エンドポイントの表示または申請」をご参照ください。
PolarDB-ODBC/lib/ を、解凍したファイルの実際のパスに置き換えます。
PolarDB クラスターに接続します。
$isql -v POLARDB +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>
よくある質問
PowerBuilder を使用して
エラー: 列「_polarHiddenprefix_dts_ROWID」は存在しません
エラー: 列 "polar_sys_rowid_attr" が存在しません
PolarDB に接続すると、エラーメッセージ「」または「」が返されるのはなぜですか?非表示の列が原因で発生したこの問題は、ODBC ドライバー 13.02.0000.1 以降を使用している場合は修正されています。
PowerBuilder を使用して
エラー: "limit" 付近の構文エラー
PolarDB に接続するときに、エラーメッセージ「」が返されるのはなぜですか?予約キーワードを列名として使用したことが原因で発生したこの問題は、ODBC ドライバー 13.02.0000.1 以降を使用している場合は修正されています。
ODBC ドライバーのバージョン
ODBC ドライバー 13.02.0000.1 (2025-02-10)
Oracle 互換の DATE 型。時、分、秒が含まれます。
Oracle 互換の INTERVAL 型。INTERVAL 列をクエリする代わりに、文字列に変換する必要があります。
API 操作 (PGAPI_Columns など) は、ROWID と DTS に対応しています。ROWID および DTS に関連するシステム列とシステム インデックスは表示されません。
API 操作 (PGAPI_Columns など) では、キーワードを列名として使用できます。