Когда Вы используете VARIABLE = value
, если value
на самом деле ссылка на другую переменную, то значение только определяется, когда VARIABLE
используется. Это лучше всего проиллюстрировано с примером:
VAL = foo
VARIABLE = $(VAL)
VAL = bar
# VARIABLE and VAL will both evaluate to "bar"
, Когда Вы используете VARIABLE := value
, Вы получаете значение value
, как это теперь . Например:
VAL = foo
VARIABLE := $(VAL)
VAL = bar
# VAL will evaluate to "bar", but VARIABLE will evaluate to "foo"
Используя VARIABLE ?= val
средства, что Вы только устанавливаете значение VARIABLE
, если VARIABLE
уже не установлен. Если это уже не установлено, установка значения задерживается, до VARIABLE
используется (в качестве в примере 1).
VARIABLE += value
просто добавляет value
к [1 113]. Фактическое значение [1 114] определяется, как это было, когда это было первоначально установлено, с помощью или =
или :=
.
Для запуска пакета SSIS доступны следующие параметры -
Пример:
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace RunFromClientAppCS
{
class Program
{
static void Main(string[] args)
{
string pkgLocation;
Package pkg;
Application app;
DTSExecResult pkgResults;
pkgLocation = "<package path>\CalculatedColumns.dtsx";
app = new Application();
pkg = app.LoadPackage(pkgLocation, null);
pkgResults = pkg.Execute();
Console.WriteLine(pkgResults.ToString());
Console.ReadKey();
}
}
}
Запустить процесс DTEXEC.EXE. DTEXEC - это утилита командной строки для выполнения пакетов SSIS. См. Его параметры командной строки здесь .
Используйте агент SQL. Вы можете настроить задание агента для запуска вашего пакета (либо сделать это заранее вручную, если пакет статический, либо программно с использованием SMO или хранимых процедур SQL непосредственно перед запуском пакета), а затем запустите его программно с помощью SMO или sp_start_job.
Используйте другую утилиту для запуска DTEXEC за вас.
Создайте собственное приложение, которое будет запускать пакет (либо с использованием OM, как описано в методе № 1, либо с помощью DTEXEC как в способе №2). Откройте его как веб-службу или класс DCOM, вызовите эту службу из своей программы.
Изобретите свою:)
Ссылка: Программный запуск пакета SSIS
Да. Посмотрите в пространство имен Microsoft.SqlServer.Dts.Runtime
.