0
LisaAlisa
17.05.18
✎
15:41
|
Добрый день!
Есть задача загружать данные из сторонней базы (тоже 1С). Базы на одном сервере.
Проблема: судя по ругани на имена колонок, запрос выполняется к текущей базе.
Делаю следующее:
глМД = СоздатьОбъект("MetaDataWork");
рс = СоздатьОбъект("ODBCRecordset");
ТекстЗапроса = "
|SELECT ПоступлениеТоваров.IDDOC [Ссылка $Документ.ПоступлениеТоваров]
...
|FROM _1SJOURN AS Журнал With (NOLOCK)
| INNER JOIN $Документ.ПоступлениеТоваров AS ПоступлениеТоваров With (NOLOCK) ON Журнал.IDDOC = ПоступлениеТоваров.IDDOC
..."
IDДата1 = Сред(глМД.ЗначениеВСамуюДлиннуюСтрокуБД(Дата1),2,8);
IDДата2 = Сред(глМД.ЗначениеВСамуюДлиннуюСтрокуБД(Дата2),2,8);
рс.УстановитьТекстовыйПараметр("Дата1", Дата1);
рс.УстановитьТекстовыйПараметр("Дата2", Дата2);
рс.Отладка();
ПутьКБазе = "\\...\";
глМД.ПрисоединитьМД(ПутьКБазе+"1Cv7.md");
ТекстЗапроса=глМД.ОбрМетаСКЛ(ТекстЗапроса);
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
ошибка: State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'sp35986'. - это поле, которое присутствует только в сторонней базе
|
|
2
olegves
17.05.18
✎
15:47
|
(0) 1с++, насколько мой склероз не изменяет, работает по таблице алиасов с локальной базой. Если использовать Рекордсет, то надо брать имена полей из файла алиасов подключаемой базы
|
|