Автоматизированное развертывание смешанного SSIS / решение DLL

Лучший метод должен был бы взять код, который sqlite3 дамп дб сделает, исключая части схемы.

Пример псевдо код:

SELECT 'INSERT INTO ' || tableName || ' VALUES( ' || 
  {for each value} ' quote(' || value || ')'     (+ commas until final)
|| ')' FROM 'tableName' ORDER BY rowid DESC

См.: src/shell.c:838 (для sqlite-3.5.9) для фактического кода

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

6
задан Chris 7 December 2009 в 17:44
поделиться

3 ответа

Ну, после многих исследований я никогда не придумал удовлетворительное решение для этого. В конце концов, ближайший я мог бы получить решение, где я динамически загрузил мои ссылки:

    Dim rsAssembly As Assembly = Assembly.LoadFile("path from config file")
    Dim rsType As Type = rsAssembly.GetType("class name from config file")
    Dim obj As Object = Activator.CreateInstance(rsType)

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

Добавлено здесь для будущих искателей, но если кто-то подходит с чем-то лучшим, мне все равно было бы очень любопытно узнать, как вы решили - опубликовать здесь, и я уверен в вас ответ:)

8
ответ дан 9 December 2019 в 22:35
поделиться

Вы абсолютно уверены, что эти общие библиотеки DLL должны быть развернуты в GAC? Если они находятся в той же папке, что и пакет SSIS, они должны быть обнаружены структурой без необходимости добавлять их в GAC.

Нет ли способа обновить вашу систему сборки, чтобы избежать изменения номера версии? Если код этих сборок не меняется, нет необходимости обновлять номер версии.

Если вы не можете избежать увеличения версии, другой альтернативой является создание файла политики вместе с общими сборками и использование этого для «перенаправления» пакета SSIS на новую версию при каждой сборке.

0
ответ дан 9 December 2019 в 22:35
поделиться

Я заметил похожие проблемы с нашим сочетанием SSIS / C #. Мы также полагаемся на внешнюю (для SSIS) dll. В нашем случае DLL нужно было скопировать в каталог 100 / DTS / Binn, чтобы пакет SSIS мог работать изнутри Visual Studio, однако, когда мы пытаемся запустить пакет с помощью утилиты выполнения пакета SQL, мы получаем ошибку, влияющую на то, что файл не может быть найден. Похоже, это не столько указывает на проблему с версией, сколько на разницу в PATH между Visual Studio и утилитой выполнения пакетов. Даже запуск пакета без отладки из Visual Studio работает. Я собираюсь изучить проблему с версией, чтобы увидеть, может быть, это основная жалоба на нашу систему, но, судя по памяти, я думаю, что нас затронула ошибка типа «файл не найден». Мы используем MSSQL 2008, если это имеет значение.

1
ответ дан 9 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: