none
SQL2008R2でORACLEへODBC接続しセレクトするとエラーとなる RRS feed

  • 質問

  • どなたか改善策をご存知でしたらご教授ください。

    64bit SQL2008R2でORACLE10Gにリンクサーバーを張りました。

    リンクサーバー定義自体はうまく行きましたが、いざデータセレクトを行ってみたところ

    『必要なデータ長に一致しないデータが返されました。』をエラー表示されデータがセレクトできません。

    過去の問合せには64BITは未対応との記述がありますが、今でもだめなんでしょうか?

    解決策等ご存知でしたらお願いします。

     

    2011年3月22日 10:41

回答

  • SQL Server は、リンクサーバー経由で Oracle への接続をサポートしているのが、Oracle 8.1.7 までだったと思います。

    同様の現象を経験したところがあり、OLE DB Provider for ODBC  経由でリンクサーバー設定を実施したら、うまくクエリが実行できるようになりました。

    どちらにしても、サポート外とのことなので、自己責任になるらしいです。

    なお、ADO.NET は、最新のOracle プロバイダもサポートされているそうです。

    • 回答としてマーク 山本春海 2011年4月5日 9:01
    2011年3月25日 8:55
  • nchar/nvarcharではなくて、char/varchar型を宣言していて、OracleとSQL ServerでDBなどの文字コードが違ったりしていませんか?

    数値しかないようなテーブルにSelectをかけても同様のエラーが出ますでしょうか?

     

    • 回答としてマーク 山本春海 2011年4月5日 9:01
    2011年3月23日 5:28

すべての返信

  • nchar/nvarcharではなくて、char/varchar型を宣言していて、OracleとSQL ServerでDBなどの文字コードが違ったりしていませんか?

    数値しかないようなテーブルにSelectをかけても同様のエラーが出ますでしょうか?

     

    • 回答としてマーク 山本春海 2011年4月5日 9:01
    2011年3月23日 5:28
  • Oracle 10g は64bit版ですか?

    ODBCドライバは具体的に何ですか?

    2011年3月23日 7:03
  • Chukiさん 早速の回答ありがとうございます。

    数値項目のみSELECT指定をすると問題なくSELECTされます。

    また、半角カナのみ登録されている場合はSELECT可能ですが、全角が登録されている場合にエラーが

    表示される現象が確認できました。

     

    2011年3月23日 12:35
  • oracleは32bit版です。

    odbcは ORACLE Provider For OLE DBです

    すみません、この内容でよいでしょうか?

    2011年3月23日 12:43
  • SQL Server は、リンクサーバー経由で Oracle への接続をサポートしているのが、Oracle 8.1.7 までだったと思います。

    同様の現象を経験したところがあり、OLE DB Provider for ODBC  経由でリンクサーバー設定を実施したら、うまくクエリが実行できるようになりました。

    どちらにしても、サポート外とのことなので、自己責任になるらしいです。

    なお、ADO.NET は、最新のOracle プロバイダもサポートされているそうです。

    • 回答としてマーク 山本春海 2011年4月5日 9:01
    2011年3月25日 8:55