Oracle Instance Client Light (odac 11) и наборы символов - PullRequest
4 голосов
/ 25 октября 2010

Я пытаюсь подключиться к oracle db без полной установки клиента oracle на компьютере.Я нашел это полезное сообщение Использование новой ODP.Net для доступа к Oracle из C # с простым развертыванием , но когда я пытаюсь это сделать, у меня возникает следующее исключение:

[Oracle.DataAccess.Client.OracleException ORA-12737: Мгновенное клиентское освещение: неподдерживаемый набор символов сервера% s в Oracle.DataAccess.Client.OracleException.HandleErrorHelper (Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx *, opoSqSqSX)Строковая процедура, Boolean bCheck)

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

Я пытался найти его в Google, но не найдете ничего, кроме предложений «Не использовать этот набор символов».

Иногда я работаю с NLS_LANG "american_america.US8PC437", но это может быть другой набор символов (клиентская среда).

Есть ли у вас какие-либо идеи, как я могу расширить клиентский экземпляр с помощьюресурсы наборов символов?

Спасибо!

1 Ответ

2 голосов
/ 12 декабря 2010

У меня была такая же проблема, и Google говорит, что решение - это установка some_big_oracle_package, но я хочу это избежать. Так что просто распаковал все файлы dll из ODAC112012Xcopy.zip 32bit (ТОЛЬКО для версии xcopy). И это работает! Поэтому мне пришлось найти таинственную 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 весит 120 МБ! После сжатия ~ 40MB

Скажите, работает ли он у вас

...