Подтвердить что ты не робот

Можно ли использовать относительные пути для пакетов SSIS dtsConfig?

Я пытаюсь сделать наши пакеты служб интеграции SQL Server максимально возможными, и одна вещь, которая мешает этому, заключается в том, что путь к конфигурации всегда является абсолютным путем, что делает тестирование и развертывание головной болью. Есть ли какие-либо предложения для того, чтобы сделать это более удобным?

Другая проблема заключается в том, что другой разработчик получает пакет из исходного элемента управления, путь специфичен для машины-разработчика.

4b9b3361

Ответ 1

Если вы пытаетесь выполнить ваши пакеты с помощью Visual Studio, тогда путь к файлу конфигурации будет жестко запрограммирован. Поэтому, если вы перемещаете свой проект вокруг, вам нужно будет изменить путь в настройках пакета. Чтобы этого избежать, вы можете использовать параметр "Переменная среда", чтобы сохранить путь к файлу конфигурации. Тогда вам нужно будет только изменить это.

Для тестирования и развертывания, однако, вы, вероятно, должны использовать утилиту dtexec для выполнения ваших пакетов. Для этого создайте несколько пакетных файлов. Предпочтительно один для каждой другой среды. Здесь путь к файлу конфигурации может быть относительным.

dtexec /File Package.dtsx /Conf configuration.dtsConfig"

Это, если вы пакеты в файловой системе. Вы также можете сохранить их в SQL Server. Вы также можете сохранить свою конфигурацию в SQL Server, которая может обеспечить гибкость.

Ответ 2

Через несколько часов, пытаясь выполнить эту работу, я нашел решение здесь (не самый лучший, но он работает)

  • Найдите файлы конфигурации (файлы dtsconfig) в том же каталоге, что и файл решения (файл .sln)
  • ВСЕГДА откройте решение, дважды щелкнув файл решения (файл .sln). Это установит рабочую папку, в которой будет работать решение, ваш файл конфигурации будет считаться правильно.

В противном случае относительные пути не сработали для меня.

Ответ 3

Проверьте бесплатную утилиту, которая может редактировать пути файла конфигурации SSIS без BIDS: http://ssisconfigeditor.codeplex.com/

Ответ 4

Мой стандартный стандартный трюк для этих видов проблем - это сопоставление дисков.

Либо используя сопоставленный сетевой диск, либо используя Subst (оба метода взаимозаменяемы).

например. Сопоставьте расположение вашего пакета с N: \, затем внутри путей использования пакета, используя N:\MyParentPackage.dtsx, N:\MyChildPackage.dtsx. Пакеты могут быть на совершенно разных дисках в разных папках на разных машинах, он будет работать после сопоставления местоположения пакета с N:\

Я обычно помещаю script вместе с файлами проекта для сопоставления диска, который сопоставляет диск, чтобы его можно было легко запустить раньше. Один из них, если вы используете субстрат на VISTA - Win8, нарисуйте его на повышенные и не приподнятые.

Я использую тот же подход для ссылок на файлы в проектах Visual Studio. Только проблема с этим подходом, вы используете для решения слишком много проблем в своей среде разработки, и у вас не будет букв с дисками.