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

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

簡易手順

  1. OSの「サービス」の一覧で『ColdFusion 9/10/11/2016 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
  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
  4. ​コマンド実行時に下記のメッセージ”だけ”が表示されたら設定が正しく行えました。次の手順 5. に進んで下さい。

    DataDirect SequeLink Manager Version 6.0 (build 0141)
    ゥ 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.

    • エラーの回避方法

      コマンドプロンプトを管理者モードで起動して下さい。
      (参考URL)
      http://www.atmarkit.co.jp/fwin2k/win2ktips/1381adminupcmd/adminupcmd.html

    • エラーメッセージ

      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

      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

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

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

  5. OSの「サービス」の一覧で、ColdFusion 9/10/11/2016 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日
最終更新日:2016年06月16日


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.