Не удается подключиться к Oracle, используя проверку подлинности Windows с ODP.NET - PullRequest
1 голос
/ 05 августа 2011

Я настроил свою базу данных Oracle для аутентификации NTS и настроил свой вход в Windows как пользователь в базе данных.

Я могу войти в базу данных с помощью команды sqlplus /.

Я также могу подключиться с помощью проверки подлинности Windows с помощью поставщика System.Data.OracleClient для ADO.NET.

Например, работает следующий фрагмент кода:

DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient");
DbConnection connection = factory.CreateConnection();
connection.ConnectionString = "Data Source=//localhost/Test; Integrated Security=yes";
connection.Open();

Однако я не могу подключиться с использованием проверки подлинности Windows с использованием Oracle.DataAccess.Client (ODP.NET).

DbProviderFactory factory = DbProviderFactories.GetFactory("Oracle.DataAccess.Client");
DbConnection connection = factory.CreateConnection();
connection.ConnectionString = "Data Source=//localhost/Test; User Id=/";
connection.Open();

Этот блок кода приводит к следующему исключению:

Oracle.DataAccess.Client.OracleException не обработано. Сообщение = ORA-1017: неверное имя пользователя / пароль;вход в систему запрещен

По этой ссылке я могу создать соединение ODP.NET с Oracle, используя предоставленную строку подключения: http://www.oracle.com/technetwork/articles/dotnet/cook-masteringdotnet-090821.html

Почему клиент ODP.NET не позволяет мнеподключиться, пока (устарел) клиент Microsoft?

Эта проблема обсуждалась в следующем потоке в 2007 году, но не было предоставлено ни одного решения: http://forums.oracle.com/forums/thread.jspa?messageID=2312148.

Это showtopper.

1 Ответ

3 голосов
/ 05 августа 2011

У меня нормально работает, используя ODP.net 11 и эту строку подключения (с файлом tnsnames.ora в клиенте Oracle для определения DLGP): Data Source=DLGP;User Id=/;Password=;

Ваш файл sqnet.ora должен быть правильно настроен, чтобы это работало, но это уже должно иметь место, если SQLPlus может подключиться. У вас есть только один дом Oracle? Если ODP.net выбирает вторую, которая может хорошо все испортить (и это может произойти в зависимости от того, как вы ее устанавливаете).

...