Имя: Пароль:
1C
1С v8
Ошибка при работе с внешними источниками данных
0 bUbA
 
21.06.18
10:33
1С 8.3.10.2561

Есть скульная база 8ки, клиенты работают на винде, сервер крутится на линуксе (база скуль на Postgre). С помощью внешних источников данных (для того, чтобы они работали, на линуксовом сервере был установлен драйвер MSSQL) в базу 8ки было добавлено несколько таблиц. Таблицы эти созданы из 1С 7.7 (собственно загрузка данных происходит из базы 7ки). База 7ки крутится на ms sql.
Сначала, для загрузки данных, подключался к тестовой базе 7ки, в которую недавно были внесены изменения - добавлено несколько справочников (таблиц). При выполнении запросов ко всем необходимым таблицам тестовой базы проблем не было. Затем изменения были перенесены на рабочую базу 7ки. И тут начались проблемы.
Есть старые таблицы, которые были созданы в 7ке если не с самого начала, то уже точно давно (справочники контрагенты, сотрудники и еще один по-свежее, но тоже старый). А есть новые таблицы, которые были добавлены как раз после последнего обновления.
Так вот, при выполнении запросов через внешние источники данных к старым таблицам проблем нет, а вот при выполнении запросов к новым таблицам получаем ошибку

{ВнешняяОбработка.АСТ_ЗагрузкаКурьерскихЗаявок.МодульОбъекта(200)}: Ошибка при вызове метода контекста (ВыполнитьПакет)
        ПакетЗапроса = Запрос.ВыполнитьПакет();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: 42S02
Номер ошибки: 208
Описание: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]54>?CAB8<>5 8<O >1J5:B0 "dbo.SC41573".

И так со всеми новыми таблицами. Причем это только при обращении с сервера (линуксового). Если обращаться с клиента (через COM-объект), то проблем нет. Так же, как и в конфигураторе при добавлении новых таблиц через ВИД все таблицы доступны.

Перезагружали линуксовый сервак, добавляли таблицы заново, чистили пользовательский кэш на винде - не помогло. Права на таблицы везде одинаковые.

Подскажите, в чем причина и как ее победить?
1 МихаилМ
 
21.06.18
10:52
это ошибка - Недопустимое имя объекта
2 bUbA
 
21.06.18
10:57
(1) А почему оно недопустимо для только что добавленных таблиц, и только из-под сервера?
3 МихаилМ
 
21.06.18
11:06
(1)
не знаю.
ищите различия в настройке ВИД,
трассируйте запросы.  чудес не бывает - где-то есть различия.
4 bUbA
 
21.06.18
11:06
Единственное различие в строках подключения к базе - это имя драйвера.

Через ВИД:
DRIVER={MSSQL};SERVER=Serv;UID=Login;PWD=Pass;DATABASE=DB

Через COM:
DRIVER={SQL Server};SERVER=Serv;UID=Login;PWD=Pass;DATABASE=DB
5 Сияющий в темноте
 
21.06.18
11:28
А если удалить и снова добавить внешний источник-возможно-он криво видит новые таблицы,если вообще видит.
6 VoditelKobyly
 
21.06.18
11:54
При внесении изменений в семерке в рабочей и тестовой базе имена таблиц справочников и их полей будут разными.
7 bUbA
 
21.06.18
12:01
(6) это было учтено, поэтому при переходе с тестовой на рабочую базу семерки в ВИД были изменены имена в источнике данных, где это требовалось (а требовалось это только в новых таблицах). А после появления ошибки, в 8ке были полностью удалены проблемные таблицы из ВИД и добавлены заново - ошибка не изменилась.
8 bUbA
 
21.06.18
12:03
(5) Проблема в том, что новые таблицы видны везде (и на клиенте, и в конфигураторе), кроме сервера, при выполнении запроса
9 bUbA
 
21.06.18
12:45
Все оказалось элементарно...

После добавления нового ВИД в конфигуратор и его первого запуска в предприятии появляется окно с повторным вводом параметров подключения к базе. В итоге скопировал ВИД, появилось окно в предприятии с вводом параметров подключения, ввел новые параметры и все...