|
Ошибка внешней базы данных |
☑ |
0
Mary01
30.05.17
✎
13:51
|
Здравствуйте!
Как исправить ошибку?
Есть внешний источник данных, в нем таблица dbo_ML. Пытаюсь сделать запись.
Стр = ВнешниеИсточникиДанных.BDSQL.Таблицы.dbo_ML.СоздатьМенеджерЗаписи();
Стр.lineID = 1;
Стр.uid = Новый УникальныйИдентификатор();
Попытка
Стр.Записать();
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Выдает ошибку.
Ошибка при вызове метода контекста (Записать):
Ошибка внешней базы данных:
ошибка при выполнении запроса: Ошибка ODBC. SQLSTATE: 42000
Номер ошибки: 102
Описание: [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около конструкции "<".
|
|
1
Волшебник
модератор
30.05.17
✎
13:52
|
Нужно исправить синтаксис около конструкции "<".
|
|
2
Mary01
30.05.17
✎
13:53
|
(1) но у меня тут нет никакого "<"
|
|
3
Волшебник
модератор
30.05.17
✎
13:55
|
посмотри ПараметрыСоединенияВнешнегоИсточникаДанных
СУБД (DBMS) - вот это надо указывать явно
|
|
4
Волшебник
модератор
30.05.17
✎
13:57
|
Соед = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
Соед.СтрокаСоединения = "Тут строку соединения";
Соед.СУБД = "MSSQLServer"; //Явно указываем, потому что тот тип, что указали в строке соединения, игнорируется;
Источник = ВнешниеИсточникиДанных[НазваниеИсточника];
Источник.УстановитьПараметрыСоединенияСеанса(Соед);
|
|
5
Mary01
30.05.17
✎
14:41
|
(4) это все есть.
|
|
6
mexanik_96
30.05.17
✎
14:43
|
(0) таблица в рид онли стоит?
|
|
7
Mary01
30.05.17
✎
14:54
|
(6) где это смотреть?
|
|
8
Mary01
30.05.17
✎
14:55
|
(6) посмотрела, в свойствах таблицы в конфигураторе - нет, галочка Только чтение снята.
|
|
9
Черный маклер
30.05.17
✎
15:02
|
(0) бывают древние версии БД или ODBC - в таких ситуациях проще в БД добавить хранимую процедуру и вызывать ее через ВИД
|
|
10
Mary01
30.05.17
✎
15:03
|
(9) что за процедура и что такое ВИД?
|
|
11
Черный маклер
30.05.17
✎
15:04
|
(10) ВИД - внешний источник данных, кроме таблиц БД есть функции
|
|
12
Mary01
30.05.17
✎
15:19
|
(1) как можно посмотреть где появляется конструкция "<"?
|
|
13
mehfk
30.05.17
✎
15:20
|
(12) В профайлере.
|
|
14
Mary01
30.05.17
✎
16:15
|
(13) проблема решена! профайлер показывал
INSERT INTO...
(Kontr,lineID,uid)
VALUES(<Bad type>,1,N'848e1289-33e7-49d5-999b-ac0e2be57e0d')
То есть необходимо было добавить Стр.Kontr = ...
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший