Имя: Пароль:
1C
 
ADODB и ФоновоеЗадание
0 Staffa
 
30.06.11
14:56
Делаю синхронизацию данных со сторонней БД на SQL через ADODB.
Суть следующая:
- читаю данные запросом с использованием инструкции "for xml explicit"
- сохраняю в XML-файл через ADODB.Stream
- читаю объект в 1С через ЧтениеXML()

В ручном режиме синхронизация проходит замечательно. Как только пытаюсь повесить процедуру в регламентное задание - получаю ошибку: "XML document must have a top level element."

Текст запроса корректный, прекрасно отрабатывает и в ручном режиме и в SQL Query Analyzer.

Код:

АДОКоманд = Новый ComObject("ADODB.Command");
АДОКоманд.ActiveConnection = СКЛ_Соединение;
АДОКоманд.CommandTimeOut = 0;

АДОСтримВвод = Новый ComObject("ADODB.Stream");
АДОСтримВвод.Open();
АДОСтримВвод.WriteText(ТекстЗапроса, 1);
АДОСтримВвод.Position = 0;
   
АДОКоманд.CommandStream = АДОСтримВвод;
   
АДОСтримВывод = Новый ComObject("ADODB.Stream");
АДОСтримВывод.Open();
   
АДОКоманд.Properties("XML Root").Value = "Root";
АДОКоманд.Properties("Output Stream").Value = АДОСтримВывод;
АДОКоманд.Properties("Output Encoding").Value = "Windows-1251";
   
АДОКоманд.Execute(0, 0, 1024);    // <-- Здесь вываливается с ошибкой!
   
АДОСтримВывод.SaveToFile(л_ИмяФайла, 2);
1 Staffa
 
30.06.11
14:59
Значение переменной ТекстЗапроса:


<?xml version='1.0'?>
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>

select
   1 as Tag,
   null as Parent,
   null as [CatalogObject.Организации!1],
   db.sp2177 as [CatalogObject.Организации!1!Ref!Element],
   'false' as [CatalogObject.Организации!1!DeletionMark!Element],
   rtrim(db.code) as [CatalogObject.Организации!1!Code!Element],
   rtrim(db.descr) as [CatalogObject.Организации!1!Description!Element],
   '' as [CatalogObject.Организации!1!Префикс!Element],
   rtrim(db.sp186) as [CatalogObject.Организации!1!ИНН!Element],
   rtrim(db.sp1669) as [CatalogObject.Организации!1!КПП!Element]

   from sc777 as db (nolock)

   for xml explicit

</sql:query>
</ROOT>


Вроде как все на месте...
2 Staffa
 
30.06.11
15:23
апну
3 vmv
 
30.06.11
15:27
XML 1С и XML всего остального мира вроде не одно и тоже, нэ
4 Staffa
 
30.06.11
15:31
(3) подтвердил бы, если бы в ручном режиме не работало...