|
Строка подключения к Oracle через ODBC | ☑ | ||
---|---|---|---|---|
0
al_zzz
26.01.16
✎
06:32
|
Хочу подключиться к базе Oracle через ODBC драйвер. Перепробовал различные варианты, однако получаю всё время:
https://yadi.sk/i/ikpa3TbynjiY2 Сделал уже строку подключения с помощью файла UDL, но всё равно та же ошибка. ЧЯДНТ? Вот мои варианты кода: ПараметрыПодключения.Вставить("Connection",Новый COMОбъект("ADODB.Connection")); //Сообщить(Параметры.loConnection.ConnectionString); ПараметрыПодключения.Connection.ConnectionString = "[oledb] |; Everything after this line is an OLE DB initstring |Provider=MSDASQL.1;Persist Security Info=False;User ID=wms;Data Source=Oracle_solvo"; //"Driver={Microsoft ODBC for Oracle};Server="+СокрЛП(ПараметрыПодключения.стрПутьПодключения) //+";Uid="+СокрЛП(ПараметрыПодключения.ИмяПользователя) //+";Pwd="+СокрЛП(ПараметрыПодключения.Пароль)+""; //"Provider=MSDASQL.1; Data Source="+СокрЛП(ПараметрыПодключения.стрПутьПодключения)+"; UID="+СокрЛП(ПараметрыПодключения.ИмяПользователя)+"; Password="+СокрЛП(ПараметрыПодключения.Пароль)+""; //Параметры.Connection.ConnectionTimeOut = 60; //Задаёт время в секундах, в течение которого ожидается установление ODBC-соединения. По умолчанию равно 15. //Параметры.Connection.CommandTimeout = 60; //Задаёт время в секундах, в течение которого ожидается исполнение запросов. По умолчанию равно 30 //Параметры.Connection.CursorLocation = 3; //определяет, где будет создан запрос - на сервере (2) или на клиент (3) //Параметры.Connection.State //Определяет состояние соединения: 0 - закрыто, 1 - открыто ПараметрыПодключения.Connection.Open(); |
|||
1
ЧеловекДуши
26.01.16
✎
06:47
|
(0) Пробовал нажать буковку "Я"?
https://www.yandex.ru/yandsearch?rpt=rad&text=1C%20Строка%20подключения%20к%20Oracle%20через%20ODBC&redircnt=1453779982.1 |
|||
2
ЧеловекДуши
26.01.16
✎
06:51
|
Вот тут описание подключения к ораклу :)
http://forum.clarionlife.net/phpbb/viewtopic.php?t=1655 |
|||
3
ЧеловекДуши
26.01.16
✎
06:52
|
+ Твое подключение, как то расходится с ожидаемым :)
Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=admin;Pwd=pass; |
|||
4
al_zzz
26.01.16
✎
07:13
|
Пять различных вариантов перепобовал - не работают у меня:
//1. //ПараметрыПодключения.Connection.ConnectionString = //"[oledb] //|; Everything after this line is an OLE DB initstring //|Provider=MSDASQL.1;Persist Security Info=False;User ID=wms;Data Source=Oracle_solvo;Password=oracle"; //2. //ПараметрыПодключения.Connection.ConnectionString = //"Driver={Microsoft ODBC for Oracle};Server="+СокрЛП(ПараметрыПодключения.стрПутьПодключения) //+";Uid="+СокрЛП(ПараметрыПодключения.ИмяПользователя) //+";Pwd="+СокрЛП(ПараметрыПодключения.Пароль)+";"; //3. //ПараметрыПодключения.Connection.ConnectionString = //"Provider=MSDASQL.1; Data Source="+СокрЛП(ПараметрыПодключения.стрПутьПодключения)+"; UID="+СокрЛП(ПараметрыПодключения.ИмяПользователя)+"; Password="+СокрЛП(ПараметрыПодключения.Пароль)+""; //4. //ПараметрыПодключения.Connection.ConnectionString = //"Driver={Microsoft ODBC for Oracle};Server="+СокрЛП(ПараметрыПодключения.стрПутьПодключения)+";Uid="+СокрЛП(ПараметрыПодключения.ИмяПользователя)+";Pwd="+СокрЛП(ПараметрыПодключения.Пароль)+";"; //5. //ПараметрыПодключения.Connection.ConnectionString = //"Driver = {Oracle in instantclient_11_2};DBQ=192.168.0.251;UID=wms;PWD=oracle;"; |
|||
5
al_zzz
26.01.16
✎
07:14
|
Думал, что через udl гарантировано должно работать. Нет?
|
|||
6
sda553
26.01.16
✎
07:22
|
tnsnames.ora покажи свой, ту часть где подключаемая база.
Из комендной строки sql worksheet подключение есть? |
|||
7
sda553
26.01.16
✎
07:24
|
И раз у тебя odbc то дай еще настройку odbc коннекта. Можно из реестра скопировать
|
|||
8
al_zzz
26.01.16
✎
07:43
|
(6) WMSDB =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.13)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = WMSDB) ) ) (7) [oledb] ; Everything after this line is an OLE DB initstring Provider=MSDASQL.1;Persist Security Info=False;User ID=wms;Data Source=Oracle_solvo |
|||
9
sda553
26.01.16
✎
08:03
|
Попробуй сначала законнектиться в командной строке. И проще, и понятную ошибку, если что, выдаст (ошибки вида ora-xxxx) *И data_source судя по всему должен быть wmsdb а не какой то oracle_solvo
|
|||
10
al_zzz
26.01.16
✎
08:24
|
Получилось совместно с админом.
|
|||
11
sda553
26.01.16
✎
10:14
|
(10) и какой оказаося солюшен?
|
|||
12
znh
26.01.16
✎
10:21
|
Функция глОткрытьБазуORA() Экспорт
БылиОш = 0; фБазаЭЗ = СокрЛП(Константа.B_Oracle); фСхемаЭЗ = "login"; фПарольСхемыЭЗ = "passw"; глmOraDatabase = ""; мБазаOracleОткрыта=0; Если (мБазаOracleОткрыта=0) Тогда Попытка OraSession = СоздатьОбъект("OracleInProcServer.XOraSession"); //OraSession = СоздатьОбъект("ADODB.CONNECTION"); глmOraDatabase = OraSession.OpenDataBase(СокрЛП(фБазаЭЗ),СокрЛП(фСхемаЭЗ)+"/"+СокрЛП(фПарольСхемыЭЗ),0); мБазаOracleОткрыта=1; //Сообщить("База открыта"); Исключение OraSession = ""; OraDatabase =""; Сообщить("Ошибка подключения к базе ЭЗ !!! "+ ОписаниеОшибки()); мБазаOracleОткрыта=0; БылиОш = 1; КонецПопытки; КонецЕсли; Возврат глmOraDatabase; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |