#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?