У меня есть пакет SSIS, который содержит несколько потоков.
Каждый поток отвечает за создание «промежуточной» таблицы, которая заполняется после создания. Эти таблицы являются глобальными временными таблицами.
Я добавил 1 дополнительный поток (я не создавал пакет), который работает точно так, как указано выше, для другой таблицы. Однако по какой-то причине пакет периодически выходит из строя в этом потоке, хотя он точно такой же, как и другие, за исключением некоторых имен таблиц.
Ошибка, которая продолжает выскакивать:
Обновление - Вставить поток данных: Ошибка: код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80004005. Доступна запись OLE DB. Источник: «Microsoft SQL Server Native Client 11.0» Hresult: 0x80004005 Описание: «Неизвестная ошибка». Доступна запись OLE DB. Источник: «Microsoft SQL Server Native Client 11.0» Hresult: 0x80004005 Описание: «Метаданные не могут быть определены, потому что инструкция 'select * from' ## TmpMcsConfigurationDeviceHistory86B34BFD041A430E84CCACE78DA336A1 '' использует временную таблицу.».
Выражение создания:
"CREATE TABLE " + @[User::TmpMcsConfigurationDeviceHistory] + " ([RecId] [bigint] NULL,[DataAreaID] [nvarchar](4) COLLATE database_default NULL,[Asset] [bigint] NULL,[Code] [nvarchar](255) COLLATE database_default NULL,[Configuration] [bigint],[StartdateTime] [datetime] NULL,[EndDateTime] [datetime] NULL)
"
Анализируемое выражение (= оцененное):
CREATE TABLE ##TmpMcsConfigurationDeviceHistory764E56F088DC475C9CC747CC82B9E388 ([RecId] [bigint] NULL,[DataAreaID] [nvarchar](4) COLLATE database_default NULL,[Asset] [bigint] NULL,[Code] [nvarchar](255) COLLATE database_default NULL,[Configuration] [bigint],[StartdateTime] [datetime] NULL,[EndDateTime] [datetime] NULL)