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
精彩评论