Задача «Сценарий служб SSIS» в 64-разрядной среде - PullRequest
1 голос
/ 04 июня 2010

Пакеты служб SSIS (SQL 2005), в которых есть задача сценария, вызывающая пользовательские библиотеки .NET, выдают следующую ошибку при запуске в 64-разрядной среде

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

Задачам сценария присвоено значение PreCompile = false, поскольку указанная dll генерируется процессом сборки.

Предлагаемый обходной путь:

Вариант 1. Если precompiled = True, откройте, сохраните и закройте пакет в BIDS после завершения сборки , Это перекомпилирует ссылку и сгенерирует встроенный 64-битный двоичный файл в пакете служб SSIS и приведет к исчезновению вышеупомянутой ошибки. Однако это также означает, что кто-то должен вручную открывать пакеты служб SSIS после завершения сборки.

Вариант 2. Придерживайтесь 32-битного режима.

Вариант 1 возможен, но нецелесообразен. С 200 пакетами SSIS - у нас не хватает рук для выполнения этой задачи каждый раз, когда мы генерируем сборку.

Вариант 2 исключен, потому что 32-битная версия не подходит для нас.

Теперь вопросы: 1. У вас есть процесс сборки ваших пакетов служб SSIS? Если да, можете ли вы поделиться своими практиками 2. Как вы управляете сценариями? Комфортно ли вам включать версию dll для разработчика в ваши сценарии?

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Это, вероятно, не то, что вы хотите услышать, но я бы предложил изучить идею замены некоторых задач скрипта пользовательскими компонентами. В кодекплексе много примеров. Это позволит легко обновлять, потому что вы просто поместите новые сборки компонентов и сборки, на которые есть ссылки, в GAC.

НТН

0 голосов
/ 04 июня 2010

В Pragmatic Works есть что-то (я никогда не использовал), называемое BI xPress, в котором есть что-то , которое может помочь.

...