Ошибка ссылки SSIS 2012 LinqToExcel

#c# #reference #ssis

#c# #ссылка #ssis

Вопрос:

Во-первых, я новичок в этом сегменте SSIS.

Я установил LinqToExcel через NuGet, и он устанавливается без каких-либо ошибок и создает код без ошибок. Когда я закрываю задачу скрипта и запускаю пакет, он выдает ошибку.

Когда я захожу в задачу, она сообщает мне:

Ошибка 1 Не удалось найти тип или имя пространства имен ‘LinqToExcel’ (вам не хватает директивы using или ссылки на сборку?) C:UsersrbakerAppDataLocalTempVstaSSIS_ST110Vstad_qPoA0KfUWEZIzHIiXSiAVstaQ4Oa6ZSBuU2GsGZFjuGlnAScriptMain.cs 6 7 ST_f0d6822b1b2e4b77b311f38707c40306

На вкладке ссылки, присвоенной LinqToExcel, отображаются желтые треугольники.

Есть идеи, как я могу это решить?

Ответ №1:

Похоже, это происходит из-за таргетинга вашего проекта.Net framework. Как вы упомянули, вы используете SSIS 2012, тогда по умолчанию платформа будет 4.5 / 4. Поэтому попробуйте изменить его на 3.5 / 3.

Если это не сработает, вы можете вручную добавить библиотеки LinqToExcel, загрузив их отсюда. Перед добавлением сначала удалите желтую метку.

Комментарии:

1. Эй, это исправило первую проблему, теперь ее построение без ошибок, но сбой при запуске SSIS. Но отладчик SSIS не самый лучший. Вы видите здесь что-нибудь неправильное? string fPath = @»J:Richard BakerSSIS_Holding_Folderapplications.xlsx «; var excel = новый ExcelQueryFactory (fPath); var dataContent = из c в Excel. WorksheetRangeNoHeader («A1», «B1») выбирает c; Приветствия

2. какую ошибку вы получаете.. есть какое-либо сообщение об ошибке / код?

3. Все, что вы получаете, это: цель вызова вызвала исключение. Теперь этот же скрипт выполняется вне SSIS внутри visual Studio. Я в замешательстве.

4. попробуйте проверить, какая версия Excel и SSIS (32 или 64 разрядная), также проверьте, правильно ли установлены переменные ReadOnlyVariables и ReadWriteVariables в вашем компоненте скрипта. Введите точку останова в метод Main () моего скрипта и попробуйте отладить пакет еще раз.

5. ХОРОШО, добавление точки останова ничего не дало, остановилось, загрузило окно скрипта, а затем ошибка. Я сократил весь код и нашел проблемную область: string fPath = @»J:Richard BakerSSIS_Holding_Folderapplications.xlsx «; var excel = new ExcelQueryFactory (fPath); Я проверил, что . Net framework соответствует 32/64 битам. Для него установлено значение 32 бит (такое же, как для пакета linq). Это простой случай, когда вы не можете использовать LinqExcel в SSIS?