2013-07-03 4 views
0

Мне нужно подключиться к удаленному оракулу db из кода C#. Клиент имеет установленный и работающий PL/SQL Developer, он должен помочь мне узнать настройки для моего настраиваемого приложения.Подключение к удаленному оракулу db из кода C#

Вопрос: Как я могу получить строку соединения от PL/SQL Developer?

+1

Очень важный вопрос: какую версию платформы .NET вы используете? До 4.0 вы могли бы использовать 'System.Data.OracleClient', но теперь вам нужно пойти с сторонним провайдером. Я обычно использую ODP.NET для Oracle для проектов .NET framework 4.0 или выше. –

+0

это не имеет значения) Я могу использовать ODP.NET. – Alexandr

ответ

1

http://www.connectionstrings.com - отличный ресурс для поиска строк соединения между различными языками и базами данных. http://www.connectionstrings.com/oracle, более конкретно, имеет информацию о строках соединения, которую вы ищете.

+0

Мне нужна определенная строка, а не общая. – Alexandr

+0

'Dim oradb As String =" Источник данных = (ОПИСАНИЕ = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = YOUR_HOST_ADDRESS) (PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = YOUR_SERVICE_NAME))); User Id = YOUR_USER_NAME; Password = YOUR_PASSWORD; " Это то, что я использую с ODP.NET для подключения к PlSQL в проектах .NET 4.0. Надеюсь, это поможет. Просто замените части, которые начинаются с YOUR_ с их соответствующей информацией, а объект соединения (после ссылки на ODP.NET) - это «OracleConnection (connection_string)». –

+1

Возможно, я неправильно понял вопрос: если вы не знаете точные данные, необходимые для завершения строки подключения (идентификатор пользователя, пароль, хост), найдите компьютер для файла с именем «tnsnames.ora». Это будет содержать все необходимые данные - кроме пароля. –

2

Если вы используете ODP.NET использовать следующую строку соединения

 string _ConnectionString = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP) 
(HOST = " + _host + ")(PORT = " + _port + "))(CONNECT_DATA = (SERVER = DEDICATED) 
(SERVICE_NAME = " + _database + ")));Password=" + _password + ";User ID=" + _user; 

Если соединение работает с SQL Developer, щелкните правой кнопкой мыши на имени соединения он откроется окно, как показано ниже

enter image description here

Замените _host на имя хоста vale, _port с значением порта, _database с SID, _user с именем пользователя и _password со значениями пароля из окна свойств sql в приведенной выше строке соединения C#.

Смежные вопросы