【问题标题】:Oracle Instance Client Light (odac 11) and character setsOracle Instant Client Light (odac 11) 和字符集
【发布时间】:2011-04-30 07:11:06
【问题描述】:

我正在尝试连接到 oracle db,而没有在机器上完成 oracle 客户端的完整安装。 我发现这个有用的帖子Using the new ODP.Net to access Oracle from C# with simple deployment 但是当我尝试它时,我在下一个异常上失败了:

[Oracle.DataAccess.Client.OracleException ORA-12737:Instant Client Light:Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr) 不支持服务器字符集 %s opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)

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

我尝试用谷歌搜索它,但除了“不要使用此字符集”的建议外什么也没找到。

我偶尔会使用 NLS_LANG "american_america.US8PC437",但它可以是不同的(客户端环境)字符集。

您知道如何使用字符集资源扩展轻量级实例客户端吗?

谢谢!

【问题讨论】:

    标签: oracle10g oracle11g oracleclient


    【解决方案1】:

    我遇到了同样的问题,谷歌说解决方案是“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 或其他东西,纯复制和粘贴)。 请注意 oraociei11.dll 重 120MB!压缩后~40MB

    告诉我它是否适合你

    【讨论】:

    • 您好,感谢您的重播。实际上,我已经做了你提到的同样的事情,但忘了更新这篇文章。是的,它对我也很有效 - 我在 Windows 2003 和 Windows 2008 上检查过。但是 - 再次感谢您的重播!
    • 请问,您为什么使用 32 位?我在 WCF/AppFabric 场景中使用它,它必须是 64 位,因为它在 Windows 2008 R2 中运行
    • 哇!很老的帖子,但对我来说效果很好。不敢相信甲骨文没有采取任何措施来解决所有这些问题......
    猜你喜欢
    • 2018-02-23
    • 2014-10-18
    • 2019-03-11
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    相关资源
    最近更新 更多