У кого-нибудь получилось записать во внешние источники когда они необъектные данные? 8.3.5.1119
Всю голову сломал. Пишу в sql через внешние источники (8.3.5.1119)
Объектные даннные все ОК.
Не объектные данные:
Выдает ошибку:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: 42000
Номер ошибки: 102
Описание: [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около конструкции "T1".
PS пробовал и с "_" и без. всё одно. Может чего не так делаю.
Пробовал через СоздатьНаборЗаписи() Всё тож самое.
Объектные даннные все ОК.
НоваяЗапись = ВнешниеИсточникиДанных.Holding_Exchange.Таблицы.dbo_Brand.СоздатьОбъект();
НоваяЗапись.Description = НаборЗап.Менеджер.Подразделение.Марка.Наименование;
НоваяЗапись._IDRef = НаборЗап.Менеджер.Подразделение.Марка.УникальныйИдентификатор();
НоваяЗапись.Записать();
Не объектные данные:
НоваяЗап = ВнешниеИсточникиДанных.Holding_Exchange.Таблицы.dbo_CurrentStatus.СоздатьМенеджерЗаписи();
НоваяЗап._Person = Строка(НаборЗап.Менеджер.УникальныйИдентификатор());
НоваяЗап._DateEvent = НаборЗап.ДатаСостояния;
НоваяЗап.Записать();
Выдает ошибку:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: 42000
Номер ошибки: 102
Описание: [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около конструкции "T1".
PS пробовал и с "_" и без. всё одно. Может чего не так делаю.
Пробовал через СоздатьНаборЗаписи() Всё тож самое.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Zixxx, Вот таблица:
USE [Holding_Exchange]
GO
/****** Object: Table [dbo].[CurrentStatus] Script Date: 09/05/2014 13:07:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CRE ATE TABLE [dbo].[CurrentStatus](
[_Person] [nvarchar](50) NOT NULL,
[_DateEvent] [datetime] NOT NULL,
CONSTRAINT [PK_CurrentStatus] PRIMARY KEY CLUSTERED
(
[_Person] ASC,
[_DateEvent] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Показать
каким образом инициализировал соединение? плз весь код.
если явно не укажешь тип сервера, то будут проблемы.
если явно не укажешь тип сервера, то будут проблемы.
Вот строка подключения. (Так ведь объектные данные пишутся норм и все норм читается)
Соединение = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
Соединение.СтрокаСоединения = "Driver={SQL Server};DSN=bd-srv.srv.local;Server=bd-srv.srv.local;Database=Holding_Exchange";
ВнешниеИсточникиДанных.Holding_Exchange.УстановитьПараметрыСоединенияСеанса(Соединение);
ВнешниеИсточникиДанных.Holding_Exchange.УстановитьСоединение();
ПараметрыСоединенияВнешнегоИсточникаДанных (ExternalDataSourceConnectionParameters)
Свойства:
АутентификацияОС (OSAuthentication)
АутентификацияСтандартная (StandardAuthentication)
ИмяПользователя (UserName)
Пароль (Password)
ПарольУстановлен (PasswordIsSet)
СтрокаСоединения (ConnectionString)
СУБД (DBMS) - вот это надо указывать явно - парсили на уровне сиквела - без указания запросы почему то в формате мускула от 1с приходили
хотя в строке соединения было указано MSSQL
и если есть в таблице ключевое поле с автоинкрементом - то его из объявления таблицы надо исключить
Свойства:
АутентификацияОС (OSAuthentication)
АутентификацияСтандартная (StandardAuthentication)
ИмяПользователя (UserName)
Пароль (Password)
ПарольУстановлен (PasswordIsSet)
СтрокаСоединения (ConnectionString)
СУБД (DBMS) - вот это надо указывать явно - парсили на уровне сиквела - без указания запросы почему то в формате мускула от 1с приходили
хотя в строке соединения было указано MSSQL
и если есть в таблице ключевое поле с автоинкрементом - то его из объявления таблицы надо исключить
Соед = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
Соед.СтрокаСоединения = "Тут строку соединения";
Соед.СУБД = "MSSQLServer"; //Явно указываем, потому что тот тип, что указали в строке соединения, игнорируется;
Источник = ВнешниеИсточникиДанных[НазваниеИсточника];
Источник.УстановитьПараметрыСоединенияСеанса(Соед);
Источник.УстановитьСоединение();
Тип СУБД можно задать интерактивно в форме настройки общих параметров источников данных. После задания типа СУБД стало нормально записываться, платформа 8.3.7.2027
Прикрепленные файлы:
Доброго времени суток.
Тип СУБД указываю, но при записи в таблицу с "необъектными" данными все равно ошибка:
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '<'.
Подскажите, что еще м.б. не так
Тип СУБД указываю, но при записи в таблицу с "необъектными" данными все равно ошибка:
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '<'.
Подскажите, что еще м.б. не так
Ага, разобрался с помощью Profiler'а: дело, действительно, просто в незаполненном поле: я думал, что если у поля есть признак РазрешитьNull, то оно автоматически Null и заполнится, а 1С отправила запрос на вставку, где вместо значения поля стояло <bad type>. Она так реагирует, причем, на незаполненные поля не только со ссылочным типом (т.е., не только на пустые ссылки на др. таблицы, а на любые неуказанные значения).
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот