|
Запись в таблицы SQL из 1С Ø |
☑ |
0
BackSpace
24.10.06
✎
15:32
|
Существует ли возможностьделать записи из 1С в таблицы SQL другой БД? Читать, как я понял, можно при помощи 1С++. Есть ли в природе решения для записи?
|
|
1
Джинн
24.10.06
✎
15:35
|
Лучше в базу 1С писать данные средствами 1С. А вот проблема "взять из другой БД" - это дело вкуса. Хоть 1C++, хоть ADO, хоть через промежуточные файлы обменивайтесь.
|
|
2
Morrison
24.10.06
✎
15:48
|
2(2) Джинн, у меня аналогичная проблема, писать надо в другую базу (есть софт представляющий из себя набор хранимых процедур, ему необходимо предоставить данные из 1с). Пока не определился чем это лучше делать. Не подскажете?
|
|
3
fisher
24.10.06
✎
15:51
|
Простейшее решение - использование ADO. Поиск рулит.
|
|
4
FAM
24.10.06
✎
15:53
|
Я пишу в другую БД при помощи 1С++... полет нормальный...
|
|
6
Джинн
24.10.06
✎
16:18
|
http://www.sinor.ru/~my1c/knowhow/accs_ado.html Только в строке подключения Driver={SQL Server};Server=типа_сервер;Database=типа_база;Uid=sa;Pwd=типа_секретное_слово"
|
|
7
FAM
24.10.06
✎
16:34
|
2(5) Да там обычный инсерт... типа: Insert Into Tabel_Add.dbo.ReportStat Values ( ' 1 ', 'Администратор', 'Рабочее время по бригадным нарядам', 'РабочееВремяПоНарядам.ert', '20061024 19:28:30', '20061024 19:28:31' ) Единственно, если БД лежит на другом серваке, то его надо к текущему прилинковать... Запрос = СоздатьОбъект("ODBCRecordSet"); //сейчас прилинкуем сервер упр базы... ТекстЗапроса = " |If @@VERSION like 'Microsoft SQL Server 2005%' | Begin | If Not Exists(Select srv.name From sys.servers srv Where srv.Name = '"+СерверУпрБазы+"') | Exec sp_addlinkedserver @Server = '"+СерверУпрБазы+"' | End |Else | Begin | If Not Exists(Select srv.srvname From master.dbo.sysservers srv Where srv.srvname = '"+СерверУпрБазы+"') | Exec sp_addlinkedserver @Server = '"+СерверУпрБазы+"' | End | |Exec sp_addlinkedsrvlogin "+СерверУпрБазы+", False, 'sa', 'sa', '"+ПарольУпрБазы+"' |"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Ошибка = Запрос.ПолучитьОписаниеОшибки(); Если ПустаяСтрока(Ошибка) = 0 Тогда Сообщить("ODBCRecordset error:"+РазделительСтрок+Запрос.ПолучитьОписаниеОшибки()); КонецЕсли; Возврат; КонецЕсли;
|
|
8
FAM
24.10.06
✎
16:37
|
+(7) Линковать сервер нужно только в первый раз...
|
|
9
Morrison
24.10.06
✎
16:45
|
Джинн, FAM огромное спасибо!!!
|
|