Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > не могу подключится к Oracle


Автор: Paradox 2.6.2005, 10:08
Други! Пытаюсь подключится к Oracle с помощью OracleConnection или OleDbConnection (это не важно - результат одинаковый)

вот так работает
Код

OracleConnection testConn = new OracleConnection("Data Source=haora;Integrated Security=no;User ID=ляляля;Password=жужужу;");
testConn.Open();

но понятно что хранение паролей в коде - не хорошо

нашел вот такой вот фрагмент в инете
Цитата
Operating System Authentication

The Oracle database server can use Windows user login credentials to authenticate database users. To open a connection using Windows user login credentials, the User Id ConnectionString attribute must be set to /. If Password is provided, it is ignored.
// C#
...
OracleConnection con = new OracleConnection();
con.ConnectionString = "User Id=/;Data Source=oracle;";
con.Open();

делаю после этого вот так
Код

OracleConnection testConn = new OracleConnection();
testConn.ConnectionString = "User ID=/;Data Source=haora;Integrated Security=true;";
testConn.Open();

и ни в какую - лезет Exception при открытии коннекта и все тут
помогите плз - ГОРЮ !!!

Автор: Paradox 2.6.2005, 10:50
забыл сказать
Оракл девятка - так что все должно быть нормально судя по МСДН
может чего то не хватает в настройках каких то ?

Автор: AntonSaburov 2.6.2005, 11:29
А текст ошибки посмотреть можно ?

И в строке коннекта UserID у тебя какой-то странный.

Автор: Paradox 2.6.2005, 11:44
An unhandled exception of type 'System.Data.OracleClient.OracleException' occurred in system.data.oracleclient.dll

Additional information: Системная ошибка

Автор: AntonSaburov 2.6.2005, 12:07
А на какой строке падает ?

Скорее всего конечно на testConn.Open(), но хотелось бы знать точно.

Судя по сообщению такое ощущение, что пакет от Оракла криво встал. Обычно такие штуки случаются, когда DLL какой-то нет. Или он еще чего-то требует - еще каких=то библиотек. Ты посмотри в доку по ADO.NET для Oracle - может там чего есть.

Автор: Paradox 2.6.2005, 13:29
ага
именно на ней и вылетает
главное что при явном указании юзеря и пасса все ок
может это на сервере че то не хватает ? он кстати юниксовый

Автор: AntonSaburov 2.6.2005, 14:18
Цитата(Paradox @ 2.6.2005, 13:29)
главное что при явном указании юзеря и пасса все ок

Странно, по идее ошибка должны была бы быть о чем-то в виде отказа авторизовать. Хотя может быть строка коннекта предварительно парсится и при отсутствии нужных данных все отваливается даже не доходя до Оракла.

Значит надо ставить пароль и имя обязательно. Можно просто предварительно вывести диалог, спросить у пользователя нужное и потом сформировать строку коннекта.

Автор: Paradox 3.6.2005, 06:52
строка дейтсвительно парсится в момент присваивания, так как если там указать что то не то, то отвалится еще при присвоении (по крайней мере синтаксис проверяется точно)
диалог формировать нельзя - приложение не интерактивное и исполнятся должно роботом...
так как с оракловой базой на виндах все ок
делаю вывод: авторизация по второй схеме предполагает отображение виндовского (доменного) пользователя в базу и под виндами действительно все ок
но юникс не в домене и про домен ниче не знает - по всей видимости поэтому и облом
проблема закрыта имхо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)