IBM DB2にODBCで接続しようとすると「SQL_HANDLE_ENV でのドライバーの SQLAllocHandleが失敗しました」というエラーになって接続できない

問題:IBM DB2にODBCで接続できない

IBM DB2に接続しようとすると、以下のようなエラーが発生します:

SQL_HANDLE_ENV での SQLAllocHandle に失敗しました。

DB2接続エラー


解決方法:環境変数の設定

この問題は、DB2 の文字コード設定が原因で発生することがあります。以下の手順で環境変数 DB2CODEPAGE を設定することで解決できます:

手順

  1. スクリプトエディタの横にある「+」ボタンをクリックし、新しいスクリプトを作成します。
    スクリプト名は「IBM DB2」など、分かりやすい名前にしてください。

  2. 以下のコードを入力し、「実行」ボタンをクリックします:

    Sys.setenv(DB2CODEPAGE = "1208")
    
  3. スクリプトが正常に実行されたことを確認し、その後、再度DB2への接続をお試しください。

環境変数設定スクリプト


補足

DB2CODEPAGE=1208 は UTF-8 を意味します。環境によっては異なるコードページが必要な場合がありますので、接続先の設定に応じて調整してください。