Как вытащить данные из Oracle в 1С
11.07.2005
09:07
#1
Доброго всем здравия.
Помогите, pls.
Надо вытащить данные из Oracle в 1С.
Пробовал при помощи ADO...
Соединяется, вытаскивает все, кроме Number(), т.е. любых числовых данных.
При попытке вытащить числоввые данные пишет "Тип переменной не поддерживается"
Подскажите, pls, как сконвертировать.
Еще слышал, что можно сделать то же самое через OLE.
Если да, подскажите как?
Если можно пример кода.
Заранее благодарен.
Помогите, pls.
Надо вытащить данные из Oracle в 1С.
Пробовал при помощи ADO...
Соединяется, вытаскивает все, кроме Number(), т.е. любых числовых данных.
При попытке вытащить числоввые данные пишет "Тип переменной не поддерживается"
Подскажите, pls, как сконвертировать.
Еще слышал, что можно сделать то же самое через OLE.
Если да, подскажите как?
Если можно пример кода.
Заранее благодарен.
13.07.2005
13:39
#2
"Попытка
session = СоздатьОбъект("OracleInProcServer.XOraSession");
db = session.OpenDatabase("oradb", "asu7/lalala", );
Исключение
Сообщить("ошибка подключения!!!");
Сообщить(ОписаниеОшибки(), "!!!");
Возврат;
КонецПопытки;
sql_text = "select * from nalog.t0010";
Состояние("Выполнение запроса");
oradynaset = db.Createdynaset(sql_text, );
Если oradynaset.RecordCount > 0 Тогда
ВсегоСтрок = oradynaset.RecordCount;
нс = 0;
Флаг=0;
Пока oradynaset.EOF=0 Цикл
нс = нс + 1;
проц = Цел(100*нс/ВсегоСтрок);
Состояние("чтение запроса /шапки/: " + проц + "% стр:" + нс);
тзОС.НоваяСтрока();
СпрОС.НайтиПоКоду(oradynaset.Fields("INV_NOM").Value);
тзОС.Номер=oradynaset.Fields("INV_NOM").Value;
тзОС.ОС=СпрОС.ТекущийЭлемент();
тзОС.ДатаВвода=СпрОС.ДатаВводаВЭксплуатацию;
//Далее то-что тебе надо, там проблема с разделителем и все
тзОС.СПИ=Число(СтрЗаменить(oradynaset.Fields("S_SROK_NA").Value,",","."));
"
session = СоздатьОбъект("OracleInProcServer.XOraSession");
db = session.OpenDatabase("oradb", "asu7/lalala", );
Исключение
Сообщить("ошибка подключения!!!");
Сообщить(ОписаниеОшибки(), "!!!");
Возврат;
КонецПопытки;
sql_text = "select * from nalog.t0010";
Состояние("Выполнение запроса");
oradynaset = db.Createdynaset(sql_text, );
Если oradynaset.RecordCount > 0 Тогда
ВсегоСтрок = oradynaset.RecordCount;
нс = 0;
Флаг=0;
Пока oradynaset.EOF=0 Цикл
нс = нс + 1;
проц = Цел(100*нс/ВсегоСтрок);
Состояние("чтение запроса /шапки/: " + проц + "% стр:" + нс);
тзОС.НоваяСтрока();
СпрОС.НайтиПоКоду(oradynaset.Fields("INV_NOM").Value);
тзОС.Номер=oradynaset.Fields("INV_NOM").Value;
тзОС.ОС=СпрОС.ТекущийЭлемент();
тзОС.ДатаВвода=СпрОС.ДатаВводаВЭксплуатацию;
//Далее то-что тебе надо, там проблема с разделителем и все
тзОС.СПИ=Число(СтрЗаменить(oradynaset.Fields("S_SROK_NA").Value,",","."));
"
Читают тему
(гостей: 1)