У меня есть пакет SSIS, который будет запускаться в другой базе данных и имеет некоторые параметры, которые будут зависеть от среды, в которой он будет работать (имя базы данных, FilePath для файла excel, ServerName и т. д.), и я хочу установить их в таким образом, когда я отправляю пакет третьей стороне, они могут настроить эти параметры и запустить пакет в задании SQL с помощью агента SQL-сервера (я думал, что это самый простой способ запустить пакет SSIS вручную).
Для этого я «параметризовал» нужные мне значения в SSIS
эти параметры задаются на уровне пакета.
и то, что я пытаюсь сделать сейчас, - это передать эти параметры с вкладки данных шага настройки задания агента SQL Server.
Я получаю эту ошибку при запуске задания:
Executed as user: NT Service\SQLSERVERAGENT. Microsoft (R) SQL Server Execute Package Utility Version 14.0.2027.2 for 32-bit Copyright (C) 2017 Microsoft. All rights reserved.
Started: 9:47:32 PM
Error: 2020-04-05 21:47:32.91
Code: 0xC001F016
Source: Package
Description: Changing the Value of a variable failed because it is a parameter variable. Parameter variables are read-only. End Error
DTExec: Could not set \Package.Variables[Database_Name].Value value to dev.
Started: 9:47:32 PM
Finished: 9:47:32 PM
Elapsed: 0.125 seconds.
The package execution failed. The step failed.
Это важная строка:
DTExec: Could not set \Package.Variables[Database_Name].Value value to dev.
Я думаю, что у меня проблемы с настройкой этой переменной, я не знаю, что я неправильно настроил в SSIS или как я пытаюсь назначить ее в агенте SQL Sever. (как я это называю, я взял это из рекомендаций в Интернете).
обобщить; Мне нужно отправить параметры из агента сервера sql в пакет SSIS. Плюс*: я также открыт для дополнительных рекомендаций о способе легкого выполнения пакетов SSIS для третьей стороны без знания SQL.
P.S. Мне рекомендовали использовать каталог, но можно ли будет использовать его, когда третья сторона должна использовать пакет в своей среде? т.е. сможет ли он без visual studio "развернуть" пакет?
Package.Variables
Это переменная, а не параметр. То, что вы делаете, похоже на попытку установить значение переменной, объявленной внутри SP, и, следовательно, ошибку. Если бы вы использовали каталог SSIS, вам было бы очень просто провести здесь время. - person Larnu   schedule 05.04.2020