「Microsoft Access」「ODBC Socket」での接続で日本語に対応するための設定

(注意・補足)
ColdFusion 2016以降は、ODBC接続はサポートされていません。下位互換性のためODBC接続機能も残されていますが、データベースのサポートはサポートマトリクスに掲載されているデータベース・バージョンに対して ColdFusion付属のドライバを使用した場合のみサポートされています。

https://helpx.adobe.com/jp/pdf/coldfusion2021-support-matrix.pdf
「クラウドデータベースサポート」はクラウド業者(Azure,AWS)が提供するデータベースサービスに対してColdFusion 2021 Enterprise版で接続が可能なものの一覧です。Standard版の場合は、その上の「サポートされているデータベース」でStandard版がサポートしているデータベース・バージョンに対してのみ接続が可能です)


ColdFusionに付属している「Microsoft Access」ドライバ(※「Microsoft ACCESS with Unicode」ドライバではありません)や「ODBC Socket」ドライバは、デフォルトの状態では日本語に対応していません。これらドライバを日本語に対応させるためには、以下の手順に沿って操作を行ってください。

簡易手順

  1. OSの「サービス」の一覧で『ColdFusion 9/10/11/2016/2018/2021/2023 ODBC Service』が起動していることを確認します。
  2. OSのコマンドプロンプトを開き、以下のコマンドを入力してディレクトリを移動します(デフォルト以外のインストール先の場合は、パスを適宜変更願います)。
    • ColdFusion 9 の場合:
      cd C:\ColdFusion9\db\slserver54\admin
    • ColdFusion 10 の場合:
      cd C:\ColdFusion10\cfusion\db\slserver54\admin
    • ColdFusion 11の場合:
      cd C:\ColdFusion11\cfusion\db\slserver54\admin
    • ColdFusion 2016 の場合:
      cd C:\ColdFusion2016\cfusion\db\slserver54\admin
    • ColdFusion 2018 の場合:
      cd C:\ColdFusion2018\cfusion\db\slserver54\admin
    • ColdFusion 2021 の場合:
      cd C:\ColdFusion2021\cfusion\db\slserver54\admin
    • ColdFusion 2023 の場合:
      cd C:\ColdFusion2023\cfusion\db\slserver54\admin
  3. ​コマンドプロンプトに以下のコマンドを入力します
    • ColdFusion 9 の場合:
      swcla -l sar 'ColdFusion 9 ODBC Server' ServiceCodePage OS
    • ColdFusion 10 の場合:
      swcla -l sar 'ColdFusion 10 ODBC Server' ServiceCodePage OS
    • ColdFusion 11 の場合:
      swcla -l sar 'ColdFusion 11 ODBC Server' ServiceCodePage OS
    • ColdFusion 2016 の場合:
      swcla -l sar 'ColdFusion 2016 ODBC Server' ServiceCodePage OS
    • ColdFusion 2018 の場合:
      swcla -l sar 'ColdFusion 2018 ODBC Server' ServiceCodePage OS
    • ColdFusion 2021 の場合:
      swcla -l sar 'ColdFusion 2021 ODBC Server' ServiceCodePage OS
    • ColdFusion 2023 の場合:
      swcla -l sar 'ColdFusion 2023 ODBC Server' ServiceCodePage OS 
  4. ​コマンド実行時に下記のメッセージ”だけ”が表示されたら設定が正しく行えました。次の手順 5. に進んで下さい。

    DataDirect SequeLink Manager Version 6.0 (build 0141 or 014115)
    ゥ Copyright 1995-2007 DataDirect Technologies, All rights reserved


    (※)コマンド実行時に下記のエラーが表示された方は、下記の設定を変更の上、手順 3. のコマンドを再度実行してエラーが解消されるのを確認下さい。

    • エラーメッセージ

      DataDirect SequeLink Manager Version 6.0 (build 0141)
      ゥ Copyright 1995-2007 DataDirect Technologies, All rights reserved

      [SequeLink error 3115] Failed to save the server configuration file
      because the file backup failed.

    • エラーメッセージ

      DataDirect SequeLink Manager Version 6.0 (build 0141)
      ゥ Copyright 1995-2007 DataDirect Technologies, All rights reserved

      [SequeLink error <22:2>] No such file or directory
      [SequeLink error 377] The specified configuration file could not be opened.
      [SequeLink error 3110] Failed to open the server configuration file for reading.

      [SequeLink error 6853] Failed to access configuration at C:\Program Files\DataDirect\slserver54\cfg\swandm.ini.

      • エラーの回避方法

        1. swclaのiniファイルをメモ帳、またはテキストエディタで開きます。ファイルは、手順 2. で移動したフォルダと同じ場所に置かれています。

          • ColdFusion 9 の場合
            C:\ColdFusion9\db\slserver54\admin\swcla.ini

          • ColdFusion 10 の場合
            C:\ColdFusion10\cfusion\db\slserver54\admin\swcla.ini

          • ColdFusion 2021の場合
            C:\ColdFusion2021\cfusion\db\slserver54\admin\swcla.ini

          • ColdFusion 2023の場合
            C:\ColdFusion2023\cfusion\db\slserver54\admin\swcla.ini

        2. iniファイルに書かれている設定内容の一番下にコンフィグレーションファイルのswandm.iniファイルが置かれている場所が指定されています。この場所を正しい場所に変更します。

             誤った設定:SWANDM=C:\Program Files\DataDirect\slserver54\cfg\swandm.ini

          • ​ColdFusion 9 の場合
            SWANDM=C:\ColdFusion9\db\slserver54\cfg\swandm.ini

          • ColdFusion 10 の場合
            SWANDM=C:\ColdFusion10\cfusion\db\slserver54\cfg\swandm.ini

          • ColdFusion 2021 の場合
            SWANDM=C:\ColdFusion2021\cfusion\db\slserver54\cfg\swandm.ini

          • ColdFusion 2023 の場合
            SWANDM=C:\ColdFusion2023\cfusion\db\slserver54\cfg\swandm.ini

        3. 変更を行ったファイルを保存して、メモ帳(またはテキストエディタ)を閉じます。

        4. 再度、手順 3. のコマンドを入力してください。
           

  5. OSの「サービス」の一覧で、ColdFusion 9/10/11/2016/2018/2021/2023 ODBC Service を再起動します。

 

特記事項

手順 3. で入力したコマンドの ServiceCodePage の有効値は Default と OS です。Default では、ASCII/EBCIDICのみをサポートします。詳しくは以前の ColdFusion MX(6)のリリースノートの39370番の説明をご覧ください(ただし、リリースノートに記載されている setcp.bat は ColdFusion 9/10/11/2016 には含まれていません)
http://www.adobe.com/support/coldfusion/releasenotes/mx/releasenotes_mx_jp.html
(ページが文字化けして読めない場合は、ブラウザのエンコードを Shift_JIS にして下さい)

2015.2.6 追記
ColdFusion 10 Update 14 以降、ColdFusion 11 Update 3 以降、2015年1月21日に公開された新しい ColdFusion 11インストーラーで Java 8の動作がサポートされていますが、Java 8 環境で上記のコマンド(ServiceCodePage OS)を実行すると、以後のリクエストで「接続のタイムアウト」エラーが発生して正しく処理を行うことができません。
※ Java 7 環境では、上記のコマンドを実行して引き続き日本語モードを有効にする事ができました。

2016.6.16 追記
ColdFusion 11 Update 9 にて Java 8 環境で上記のコマンド(ServiceCodePage OS)を実行する事ができるようにドライバが修正されました。これにより Java 8環境で ODBC Socket で接続した場合にも日本語が使用できるようになりました。
https://bugbase.adobe.com/index.cfm?event=bug&id=4157031
※同日公開された ColdFusion 2016 Update 2 についても(記載はありませんが)同様に日本語が使用できました。


 


記事公開日:2013年02月18日
最終更新日:2023年6月29日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.