3 Replies Latest reply: Dec 5, 2012 12:54 AM by 977788 RSS

    64bit環境でROWID型にODBC接続すると例外が発生する

    977788
      環境

      アプリケーションサーバー
      OS:Windows 2008 Server R2(64bit)
      Oracle: Oracle Client 11gR2(64bit) - 11.2.0.3

      データベースサーバー
      OS:Windows 2008 Server R2(64bit)
      Oracle: Oracle Database 11gR2(64bit) - 11.2.0.1

      開発言語:C#

      ODBC接続でテーブル、カラム情報を取得するアプリケーションを作成しています。

      ROWID型を含むテーブル情報を取得する下記の箇所で例外が発生してしまいます。

      OdbcConnection.GetSchema("Columns", new string[] { null, ”任意のスキーマ名”, ”任意のテーブル名”, null});

      イベントログには以下の記述がありました。
      ----------------------------
      障害が発生しているアプリケーション名: xxxxxx.exe、バージョン: 1.0.2012.7、タイム スタンプ: 0x5099b35b
      障害が発生しているモジュール名: oracore11.dll、バージョン: 11.2.0.1、タイム スタンプ: 0x4e8b9b1e
      例外コード: 0xc0000409
      障害オフセット: 0x00000000000bf877
      障害が発生しているプロセス ID: 0x7bc
      障害が発生しているアプリケーションの開始時刻: 0x01cdd14a5528b714
      障害が発生しているアプリケーション パス: C:\Program Files\xxxxxx.exe
      障害が発生しているモジュール パス: C:\xxxxx\product\11.2.0\client_1\BIN\oracore11.dll
      レポート ID: a0c08e39-3d3d-11e2-acff-00155d043048
      ----------------------------

      ROWID型を除いたテーブルを用意してアクセスすると例外は発生しませんでした。
      また、32bit環境(データベース、アプリケーション共に)で同じテーブルを用意してアクセスした場合は例外は発生しませんでした。

      この問題のヒント、回避策など教えて頂ければ幸いです。