Имя: Пароль:
1C
1C 7.7
v7: 1с++ Подключение к сторонней базе
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'. - это поле, которое присутствует только в сторонней базе
1 Franchiser
 
гуру
17.05.18
15:43
Напиши в начале use имятвоейбд
2 olegves
 
17.05.18
15:47
(0) 1с++, насколько мой склероз не изменяет, работает по таблице алиасов с локальной базой. Если использовать Рекордсет, то надо брать имена полей из файла алиасов подключаемой базы