Имя: Пароль:
1C
1С v8
Подключение к базе данных ORACLE
0 TARPV
 
06.12.11
13:20
Ни когда не работал с базами данных ORACLE и поэтому буду признателен за пример кода, который описывает подключение из 1с82 к базе данных и ORACLE и выполнение простого запроса.

Также какой софт нужно установить на клиент?
1 ice777
 
06.12.11
13:26
Имхо, все как обычно.
Хоть раз серверную базу подключал?
2 TARPV
 
06.12.11
13:30
Вы меня не поняли. Речь не о хранении базы 1с в формате СУБД ORACLE, а о коде который выполняет подключение к произвольной базе данных ORACLE. Сама база 1С в формате СУБД MS SQL Server 2005.
3 shuhard
 
06.12.11
13:31
(2) ну и какие проблемы с ADODB ?
4 TARPV
 
06.12.11
13:36
(3) Хотите сказать, что такой вариант подключения будет работать и для баз данных ORACLE?

Пример подключения к базе данных ms sql server

Функция ПодключитьсяКБД()
   
   //Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;    
   ConnectionString = "Driver={SQL Server};";
   ConnectionString = ConnectionString + "Server=" + ServerAddress + ";";
   ConnectionString = ConnectionString + "DataBase =" + DataBase + ";";
   ConnectionString = ConnectionString + "Uid=" + Username + ";";
   ConnectionString = ConnectionString + "Pwd=" + Password + ";";
       
   Connection = Новый COMОбъект("ADODB.Connection");
   Connection.ConnectionString = ConnectionString;
   Connection.ConnectionTimeout = 50;
   Connection.CommandTimeout = 1000;
   Connection.Open();
   
   Возврат Connection;
   
КонецФункции
5 shuhard
 
06.12.11
13:37
(4) конечно не будет,
провайдер ADODB для ORACLE свой
6 TARPV
 
06.12.11
13:39
(5) Ну вот я и прошу привести пример кода с провайдером для ORACLE!
И какой софт нужно установить на компьютер.
7 ice777
 
06.12.11
13:46
типа

   Conn = Новый COMОбъект ("ADODB.Connection");
   Conn.Open("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind");
   
   RS = Новый COMОбъект ("ADODB.RecordSet");
   RS.Open("select * from customers", Conn);
8 ice777
 
06.12.11
13:47
фу, вот тут посмотри: http://www.progmans.net/tags/COM%CE%E1%FA%E5%EA%F2/
9 МихаилМ
 
06.12.11
13:47
(7)
"SQLOLEDB.1"  - это для MS sql
10 ice777
 
06.12.11
13:50
(9) да, см. в (8)
11 shuhard
 
06.12.11
13:52
(10) в (8) лажа
12 ice777
 
06.12.11
13:54
(11) хез. у меня оракла нет, чтобы проверить.
13 ДенисЧ
 
06.12.11
13:54
Ставим на сервер Instantclient. Настраиваем tnsnames. Создаём DSN. Создаём строку подключения типа "Provider=MSDASQL.1;Data Source=MyOracleSDN;UID=user;Password=password;"
И
_ОраклБД = Новый COMОбъект("ADODB.Connection");
_ОраклБД.Open(строкаПодключения);

Всё. Дальще _ОраклБД.Execute(МойЗапрос);
14 catena
 
06.12.11
14:06
У меня так:
стрПодключения = "Provider=MSDAORA.1;User ID=" + ИмяЮзера + ";Password=" + Пароль + ";Data Source=" + Сервер + ";Persist Security Info=False";
РСконект = Новый COMОбъект("ADODB.Connection");
РСконект.ConnectionTimeOut = 0;
РСконект.CommandTimeOut = 0;
РСсет = Новый COMОбъект("ADODB.Recordset");
РСконект.Open(стрПодключения);
15 TARPV
 
06.12.11
14:12
(14) Какой софт нужен на клиенте для работы с провайдером "MSDAORA.1"?
16 Evgenchik
 
06.12.11
14:13
СтрокаСвязи = "Driver={Microsoft ODBC for Oracle};Data Source="+ИмяБазы+";User ID="+ИмяПользователя+";Password="+Пароль+";";

   ТЗ  = Новый ТаблицаЗначений;
   ДБ  = Новый COMОбъект( "ADODB.Connection" );
   rst = Новый COMОбъект( "ADODB.Recordset"  );
   
   Попытка
       ДБ.Provider          = "MSDAORA.1";
       ДБ.ConnectionString  = СтрокаПодключения;
       ДБ.CursorLocation    = 3;
       ДБ.ConnectionTimeOut = 600;
       ДБ.Open();
       rst.Open( ТекстЗапроса, ДБ, 1, 1 );


клиент оракла разумеется
17 catena
 
06.12.11
14:18
(15)мх, это сложнее :)
Устанавливалось оно так:
DISTRIB\Oracle\Ora10g_Client\
18 TARPV
 
06.12.11
14:21
(16) Для работы с провайдером нужно это:

http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html
19 Evgenchik
 
06.12.11
14:33
ну я и сказал, что клиента оракла
20 ДенисЧ
 
06.12.11
14:35
(18) Я об этом уже в (13) сказал... :shuffle: