activerecord-oracle_enhanced-adapter
ruby-oci8
を利用するわけです。
ですが、oracle9に接続しようとすると
OCIError: ORA-01821: 日付書式コードが無効です from stmt.c:235:in oci8lib.so
とかエラーが出て接続できないことがあります。
これは、config/database.yamlを以下のような感じにnls_timestamp_formatを指定すると回避できます。
develop: adapter: oracle_enhanced database: ora username: user password: pass nls_timestamp_format: "YYYY-MM-DD HH24:MI:SS"
activerecord-oracle_enhanced-adapterで接続する際にalter sessionを発行しているのですが、
どうもnls_timestamp_formatを指定する際にYYYY-MM-DD HH24:MI:SS:FF6を指定していて
oracle9では、FF6という記述をサポートしていないためエラーが出ているようです。
ちなみにactiverecord-oracle_enhanced-adapterの1.3.1までは、このエラーはでないようです。
1.3.2以降で出るみたいです。
0 件のコメント:
コメントを投稿