すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ODBC

最終更新日:Nov 09, 2025

この Topic では、Windows および Linux/Unix システムで PolarDB for PostgreSQL (Oracle 互換) 用のオープンデータベースコネクティビティ (ODBC) ドライバーをインストール、設定、使用して、クライアントアプリケーションをデータベースに接続する方法について説明します。

適用性

ドライバーのダウンロード

オペレーティングシステム

プロセッサアーキテクチャ

ODBC ドライバーパッケージ

AliOS 8、ALinux 3、Anolis 8、または CentOS 8

X86_64

polardb-odbc-x86_64-8u-13.02.0000.1.tar.gz

ARM_64

polardb-odbc-aarch64-8u-13.02.0000.1.tar.gz

AliOS 2、ALinux 2、Anolis 7、または CentOS 7

X86_64

polardb-odbc-x86_64-7u-13.02.0000.1.tar.gz

ARM_64

polardb-odbc-aarch64-7u-13.02.0000.1.tar.gz

Unix/Linux 6

X86_32

polardb-odbc-X86_32-6u-13.02.0000.1.tar.gz

Ubuntu 18

X86_64

polardb-odbc-x86_64-ubuntu18.04-13.02.0000.1.tar.gz

Windows 7 以降

X86_64

polardb2_odbc_x64_13.02.0000.1.msi

X86_32

polardb2_odbc_x86_13.02.0000.1.msi

Windows での ODBC ドライバーの使用

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

  1. Windows オペレーティングシステムのアーキテクチャに一致するインストールパッケージを選択します。詳細については、「ドライバーのダウンロード」をご参照ください。

  2. polardb2_odbc_*_*.msi ファイルを右クリックし、管理者として実行して ODBC ドライバーをインストールします。

ODBC を使用した PolarDB への接続

  1. [コントロールパネル] から [管理ツール] を開きます。

  2. [管理ツール] ウィンドウで、[ODBC データソース] を開きます。

  3. [ODBC データソースアドミニストレーター] ダイアログボックスで、[追加] をクリックします。

  4. [PolarDB Unicode(x64)] を選択し、[完了] をクリックします。

  5. 表示されるダイアログボックスで、次の情報を入力します。

    image.png

    パラメーター

    説明

    データソース

    データソース名。

    説明

    データソースの説明。

    データベース

    ターゲットデータベースの名前。

    SSL モード

    SSL 暗号化モードを選択します。

    サーバー

    ターゲットデータベースのエンドポイント。PolarDB クラスターのクラスターエンドポイントの表示方法については、「エンドポイントの表示またはリクエスト」をご参照ください。

    ポート

    ターゲットデータベースのポート。デフォルトは 1521 です。

    ユーザー名

    データベースアカウント。

    パスワード

    データベースアカウントのパスワード。

    [テスト] をクリックします。接続文字列が正しく設定されている場合、成功メッセージが表示されます。

    image.png

  6. [保存] をクリックします。

Unix または Linux での ODBC ドライバーの使用

説明

この Topic では CentOS を例として使用します。ご使用のオペレーティングシステムに合わせてコマンドを調整する必要がある場合があります。

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

  1. オペレーティングシステムのアーキテクチャとバージョンに一致する ODBC ドライバーをダウンロードします。詳細については、「ドライバーのダウンロード」をご参照ください。

  2. ODBC ドライバーパッケージを解凍します。PolarDB が提供する ODBC ドライバーパッケージはインストール不要です。パッケージを解凍すると、ドライバーを使用できます。次のコマンドを実行してパッケージを解凍します:

    tar -zxvf polardb-odbc-*-*-*.tar.gz
    説明

    polardb-odbc-*-*-*.tar.gz をダウンロードしたパッケージの名前に置き換えます。

  3. 次のコマンドを実行して、`LD_LIBRARY_PATH` 環境変数を設定します。

    export LD_LIBRARY_PATH=<PolarDB-ODBC/lib>:$LD_LIBRARY_PATH

    <PolarDB-ODBC/lib/> を、解凍した ODBC フォルダの実際のパスに置き換えます。

  4. 次のコマンドを実行して、`ODBCINI` 環境変数を設定します。

    export ODBCINI=</your odbc.init file path>

ODBC を使用した PolarDB への接続

  1. Linux サーバーに Libtool をインストールします。Libtool 1.5.1 以降が必要です。

    yum install -y libtool
  2. Linux サーバーに unixODBC-devel をインストールします。

    yum install -y unixODBC-devel
  3. 設定済みの odbc.ini ファイルを編集します。

    vim $ODBCINI 
  4. 次の情報を odbc.ini ファイルに追加します。

    [POLARDB]
    Description = ODBC for POLARDB
    Driver      = <PolarDB-ODBC/lib/psqlodbcw.so>
    Driver64    = <PolarDB-ODBC/lib/psqlodbcw.so>
    Database    = <database_name>
    Servername  = <database_endpoint>
    Password    = <password>
    Port        = <port>
    Username    = <username>
    Trace       = yes
    TraceFile   = /tmp/odbc.log
    FileUsage   = 1
    説明
    • PolarDB クラスターのクラスターエンドポイントの表示方法については、「エンドポイントの表示またはリクエスト」をご参照ください。

    • この例では、PolarDB-ODBC/lib/ を、解凍した ODBC フォルダの実際のパスに置き換えます。

  5. PolarDB に接続します。

    $isql -v POLARDB
    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL>

よくある質問

PowerBuilder を使用して ODBC 経由でデータをクエリすると、エラー ERROR: column "_polarHiddenprefix_dts_ROWID" does not exist または ERROR: column "polar_sys_rowid_attr" does not exist が発生します。

これは、以前のドライバーバージョンで非表示列を処理する際の既知の問題です。この問題は、ODBC ドライバーバージョン 13.02.0000.1 以降で修正されています。この問題を解決するには、ドライバーをスペックアップしてください。

PowerBuilder を使用してクエリを実行すると、エラー ERROR: syntax error at or near "limit" が発生します。

この構文エラーは、SQL の予約キーワードが列名として使用されているために発生します。この問題は、ODBC ドライバーバージョン 13.02.0000.1 以降で修正されています。この問題を解決するには、ドライバーをスペックアップしてください。

isql を使用して PolarDB に接続すると、メッセージ Can't open lib '/my/path/to/psqlodbcw.so' : file not found が表示されますが、ファイルは存在します。なぜですか?

これは通常、psqlodbcw.so ファイルが依存する動的ライブラリ (libpq.so など) が見つからないか、システムによって見つけられないために発生します。ldd コマンドを実行して依存関係を確認できます:

# パスを実際のパスに置き換えます
ldd /my/path/to/psqlodbcw.so

# サンプル出力は libpq.so.5 => not found を示しています
linux-vdso.so.1 =>  (0x00007ffd7916a000)
libpq.so.5 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f388ac00000)
libodbcinst.so.2 => /lib64/libodbcinst.so.2 (0x00007f388a800000)
libc.so.6 => /lib64/libc.so.6 (0x00007f388a400000)
/lib64/ld-linux-x86-64.so.2 (0x00007f388afd1000)
libltdl.so.7 => /lib64/libltdl.so.7 (0x00007f388a000000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3889c00000)

更新ログ

13.02.0000.1 (2025-02-10)

  • 型の互換性

    • DATE 型は Oracle と互換性があり、時、分、秒を含む時間情報をサポートするようになりました。

    • INTERVAL 型は Oracle と互換性があります。INTERVAL 列を直接クエリすることはできません。クエリする前に、まず文字列に変換する必要があります。

  • API の適応

    • PGAPI_Columns などの API は、ROWID と DTS 用に更新されます。関連するシステム列とシステムインデックスは表示されなくなりました。

    • PGAPI_Columns などの API は、SQL キーワードを列名として使用することをサポートするようになりました。