4

マシンに oracle クライアントを完全にインストールせずに oracle db に接続しようとしています。この役立つ投稿を見つけました新しいODP.Netを使用してC#からOracleに簡単にアクセスできますが、試してみると、次の例外で失敗します:

[Oracle.DataAccess.Client.OracleException ORA-12737: Instant Client Light: サポートされていないサーバー文字セット %s が Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Stringプロシージャ、ブール bCheck)

Oracle.DataAccess.Client.OracleException.HandleError (Int32 errCode、OracleConnection conn、IntPtr opsErrCtx、オブジェクト src) で...

私はそれをグーグルで検索しようとしましたが、「この文字セットを使用しないでください」という提案以外は何も見つかりませんでした.

私はときどき NLS_LANG "american_america.US8PC437" を使用していますが、(クライアント環境によって) 文字セットが異なる場合があります。

文字セット リソースを使用してライト インスタンス クライアントを拡張する方法を知っていますか?

ありがとうございました!

4

1 に答える 1

2

私は同じ問題を抱えていました.Googleは解決策は「some_big_oracle_package」のインストールであると言いますが、これは避けたいと思います. そのため、ODAC112012Xcopy.zip 32 ビット (xcopy バージョンのみ) からすべての dll ファイルを解凍するだけです。そしてそれはうまくいきます!そのため、次のレベルに押し上げた謎の dll を見つけなければなりませんでした。ワン&オンリーは

oraociei11.dll

私のワーキング ポータブル ソリューション カタログには、.exe ファイルと 4 つの dll があります。

  • oci.dll、
  • Oracle.DataAccess.dll (バージョン 2.112.1.2)、
  • OraOps11w.dll
  • oraociei11.dll

このようなものは、Win7 x86 & x64 および WinXP x86 で動作します (すべてのシステムには Oracle または sth がインストールされておらず、純粋なコピー & ペーストが必要です)。oraociei11.dll の重量は 120MB であることに注意してください。圧縮後 ~40MB

それがあなたのために働くかどうか教えてください

于 2010-12-11T23:37:02.903 に答える