У меня есть источник Excel, входящий в пункт назначения OLE DB. Я вставляю данные в представление с триггером INSTEAD OF, который обрабатывает все вставки. Когда я пытаюсь выполнить пакет, я получаю эту ошибку:
«Ошибка вставки в столбец только для чтения ColumnName»
Что я могу сделать, чтобы SSIS знал, что это представление безопасно для вставки, потому что есть триггер INSTEAD OF, который будет обрабатывать вставку?
РЕДАКТИРОВАТЬ (Дополнительная информация):
Еще немного дополнительной информации. У меня есть плоский файл, который вставляется в нормализованную базу данных. Моя первоначальная проблема заключалась в том, как взять плоский файл и вставить эти данные в несколько таблиц, отслеживая все отношения первичного / внешнего ключа. Мое решение состояло в том, чтобы создать VIEW, который имитирует структуру плоского файла, а затем создать триггер INSTEAD OF для этого представления. В моем триггере INSTEAD OF я бы обрабатывал логику поддержания всех связей между таблицами
Мой взгляд выглядит примерно так.
CREATE VIEW ImportView
AS
SELECT
CONVERT(varchar(100, NULL) AS CustomerName,
CONVERT(varchar(100), NULL) AS Address1,
CONVERT(varchar(100), NULL) AS Address2,
CONVERT(varchar(100), NULL) AS City,
CONVERT(char(2), NULL) AS State,
CONVERT(varchar(250), NULL) AS ItemOrdered,
CONVERT(int, NULL) AS QuantityOrdered
...
Мне никогда не нужно будет выбирать из этого представления, я использую его только для вставки в него данных из этого плоского файла, который я получаю. Мне нужно как-то сообщить SQL Server, что поля на самом деле не только для чтения, потому что в этом представлении есть триггер INSTEAD OF.