开发者

Oracle Instance Client Light (odac 11) and character sets

I am trying to connect to oracle db without full installation of oracle client done开发者_如何学编程 on the machine. I found this helpfull post Using the new ODP.Net to access Oracle from C# with simple deployment but when I try it, I am failed on the next exception:

[Oracle.DataAccess.Client.OracleException ORA-12737: Instant Client Light: unsupported server character set %s at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)

at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src) ...

I tried to Google it up, but find nothing except "Do not use this character set" suggestions.

I occasionally I am working with NLS_LANG "american_america.US8PC437", but it can be different (client environment) character set.

Do you have any idea how can I extend light instance client with character sets resources?

Thank you!


I had the same problem and google says the solution is 'some_big_oracle_package' installation, but I want to keep this away. So simply unpacked all dll files from ODAC112012Xcopy.zip 32bit (xcopy version ONLY). And it works! So I had to found the mysterious dll that pushed it to the next level. The one & only is

oraociei11.dll

On my working-portable solution catalog I have .exe file and 4 dlls:

  • oci.dll,
  • Oracle.DataAccess.dll (version 2.112.1.2),
  • OraOps11w.dll
  • oraociei11.dll

This stuff works on Win7 x86 & x64 and WinXP x86 (all the systems don't have Oracle or sth installed, pure copy & paste). Notice that oraociei11.dll weighs 120MB! After compression ~40MB

Tell me if it works for you

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜