Замена System.Data.OracleClient на Oracle.DataAccess (ODP.NET) - PullRequest
11 голосов
/ 21 сентября 2011

У меня есть проект, который использует System.Data.OracleClient на данный момент, и поскольку он устарел, поэтому я хочу перейти на последнюю версию ODP.NET для Oracle 11g.Пожалуйста, дайте мне знать, если следующие шаги будут работать для меня, или есть определенные действия, необходимые для того, чтобы он работал без ошибок:

  • Удалите ссылку на SYstem.Data.OracleClient
  • Добавление ссылки на Oracle.DataAccess dll
  • Замена перечисления OracleType на OracleDbType и обновление ссылок на типы данных из VarChar в Varchar2 и т. Д.

1 Ответ

15 голосов
/ 21 сентября 2011

Вы в значительной степени поняли это.

Вот описание Oracle, которое я выполнял при этом: http://www.oracle.com/technetwork/topics/dotnet/code-154692.html

Две другие вещи, которые нужно сделать:

  1. Исправьте строку подключения.

  2. Сообщите своим экземплярам OracleCommand, что вы хотите связать свои параметры по имени, а не по позиции, используя OracleCommand.BindByName = true

Предложение. Когда вы исправите строку подключения, избавьтесь от любой зависимости от TNSNAMES.ORA, поместив всю строку подключения прямо в вашу программу.

...