Может ли кто-нибудь предоставить некоторую информацию о том, как запустить пакет служб интеграции на экземпляре SQL Server 2005 из Visual Basic 6?Как запустить пакет SSIS с Visual Basic 6?
Любая помощь вообще очень ценится.
Может ли кто-нибудь предоставить некоторую информацию о том, как запустить пакет служб интеграции на экземпляре SQL Server 2005 из Visual Basic 6?Как запустить пакет SSIS с Visual Basic 6?
Любая помощь вообще очень ценится.
У вас должен быть включен xp_cmdshell
, если это не так, выполните: sp_configure 'xp_cmdshell', '1'
в SSMS на вашем сервере.
Создание процедуры сохранения и поместить в него следующий код:
DECLARE @SSISPackage VARCHAR(1000)
DECLARE @cmd VARCHAR(max)
DECLARE @variable_value1 varchar(255)
DECLARE @Result int
SET @SSISPackage = 'C:\path_to_the_package\package_name.dtsx'
SET @cmd = 'dtexec /F "' + @SSISPackage + '"'
// if you have variables in the package that need to be set up
// add them here
SET @cmd = @cmd + ' /SET \Package.Variables[User::somevariable1].Properties[Value];"' + @variable_value1 + '"'
SET @cmd = @cmd + ' /SET \Package.Variables[User::somevariable2].Properties[Value];"' + @variable_value2 + '"'
SET @cmd = @cmd + ' /SET \Package.Variables[User::somevariable3].Properties[Value];"' + @variable_value3 + '"'
EXECUTE @Result = master..xp_cmdshell @cmd, NO_OUTPUT
Затем вызовите хранимую процедуру из VB6, через ADODB.Command.
Вы здесь примеры:
Я надеюсь, что это помогает.
Вероятно, проще всего раскошеливаться и run dtexec
В качестве альтернативы, вы можете use the using Microsoft.SqlServer.Dts assemblies в .NET и обернуть его в COM (или EXE), а затем вызвать его из VB6.
В этой второй ссылке есть некоторые другие варианты, которые могут быть применимы к VB6 в некотором роде, но, вероятно, все это приведет к завершению .NET-кода в COM-объекте или EXE.