2017-02-09 28 views
0

Мы делаем техническое обновление здесь на работе. Переход на SQL-сервер 2012. Также перемещение приложений с .Net 2.0 на .Net 4.5+, чтобы мы могли запускать приложения и на более новых ОС. Проблема заключается в том, что код приложения создавал пакеты DTS «на лету», а затем запускал задачи для чтения загруженных файлов, из которых были созданы пакеты DTS, в базу данных, запустив пакеты. Старый код использовал библиотеку DTS для создания пакетов DTS. Конечно, этот код больше не доступен.Как удалить зависимость от .net 2.0 DTS-библиотек, динамически создающих пакеты DTS. Как использовать эквивалентный SSIS из C# .Net 4.6?

Я не пытаюсь преобразовать пакеты DTS. Я пытаюсь не создавать их, в первую очередь. Я мог бы использовать SSIS вместо этого, но я не уверен, что это так, как используется SSIS. Может ли кто-нибудь сказать мне, как это сделать, используя SSIS.

Спасибо за ваше время!

+0

Вы понимаете, что делает компонент DTS? Я подозреваю, что он просто импортирует файлы. Если это так, создание и запуск DTS-файлов «на лету» - полный перебор (создание пакетов SSIS «на лету» также будет излишним). Если этот шаг просто импортирует данные, вы можете легко достичь этого непосредственно в .Net. Если вы должны создать SSAS pacakges, вы можете использовать BIML для их автоматического создания на основе метаданных, но через 15 лет это также будет устаревшим! –

+0

LOL, Соглашенный Ник, парень ниже также предлагает BIML (я никогда не слышал об этом), я посмотрю на это ... А также, ваше подозрение, я уверен, правильно, оно просто импортирует данные в это база данных через загруженные файлы. Это я могу ясно видеть ... Мое настоящее намерение состоит в том, чтобы просто написать свои собственные процедуры импорта для импорта тех же самых файлов, которые загружаются без перехода на путь использования любого пакета. Я думаю, что это все, что действительно необходимо. Хотя я посмотрю на BIML, чтобы узнать, может ли это иметь смысл в этом случае ... –

ответ

1

У вас мало изменений, если у вас нет исходного кода для программ, генерирующих пакеты SSIS.
Основная проблема заключается в том, что программа будет генерировать пакеты для старой версии SSIS; он охватывает формат файлов DTSX и имена компонентов. Имена компонентов - это имена задач SSIS и элементов потока данных, и именно так SSIS знает, какую задачу выполнить дальше. Плохо, что большинство этих имен компонентов изменены в следующих версиях SSIS; кроме того, некоторые из компонентов изменили имена параметров.
Если вы оставите программу генерации DTS неизменной, вы всегда будете получать пакеты для устаревшей версии SSIS. Простые пакеты могут быть преобразованы и обновлены с помощью службы SSIS «на лету», но более сложные пакеты должны подвергнуться ручному обновлению.
В вашем случае, есть несколько возможностей:

  • Посмотрите на исходный код и изменить его, чтобы генерировать правильные пакеты.
  • Создайте пакеты, сохраните, а затем - обновите с помощью мастера обновления из SSIS или Visual Studio. Затем вам необходимо поддерживать пакеты вручную в VS и запускать их с помощью агента SQL Server или пакетных файлов.
  • Ознакомьтесь с BIML, чтобы динамически генерировать пакеты на основе метаданных. Это проще, чем подход C#.

Лично я бы выбрал третий вариант.

+0

Да, действительно, я не хочу превращать автоматизированный процесс в тот, который должен вручную конвертировать пакеты DTS в пакеты SSIS. На самом деле все, что действительно происходит, - это файлы, которые загружаются и их необходимо импортировать в базу данных. Я посмотрю на BIML, чтобы узнать, имеет ли это значение здесь, но сейчас я думаю, что могу просто написать средство импорта на C#, которое позаботится об этом. Спасибо за ваш вклад! –

 Смежные вопросы

  • Нет связанных вопросов^_^