powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Почему не запускаеться DTS пакет.
19 сообщений из 19, страница 1 из 1
Почему не запускаеться DTS пакет.
    #32015421
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть DTS пакет сохраненный на сервере.
Хочу запустить его их хранимой процедуры.

declare @opkg int
declare @hr int
exec @hr = sp_oacreate 'dts.package', @opkg out
EXEC @hr = sp_oamethod @oPKG, 'LoadFromSqlServer', NULL, @ServerName='UIIS', @PackageName='pk1', @Flags=256
EXEC @hr = sp_oamethod @opkg, 'Execute'
EXEC @hr = sp_OADestroy @opkg
Значение @hr после каждого вызова процедуры равно 0. То есть выполнилось без ошибок. А результата нет (в пакете выводится таблица в файл). Если запустить пакет их EM все ОК.
SQL Server 7.0
В чем может быть проблема.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015424
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO через OLE объект можно выполнять только DTS пакет, который записан как .dts файл(внешний по отношению к SQL серверу).

А для запуска DTS пакета, хранящегося на сервере, можно использовать утилиту dtsrun
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015426
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно. Пример взял на каком то сайте. Да и метод LoadFromSQLServer судя из названия предназначен именно для этого.
А вот LoadFromStorageFile для запуска из файла.
Может я чего то не понял ?
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015471
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как не старался а DTS пакет не запустился.
Если у кого то есть примеры запуска DTS пакета при помощи OLE Automation поделитесь plz.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015472
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я не пойму, если вам нужно запускать DTS пакет []из хранимой процедуры, то IMHO утилита dtsrun как раз для этого и предназначена.

Можно еще создать Job на выполнение DTS пакета и запускать этот Job с помощью sp_start_job.

Или есть какая-то особенная необходимость(или может быть выгода) от использования именно OLE Automation. IMHO это будет медленее, чем предложенные выше способы.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015477
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да необходимость запуска средствами Ole есть. В зависимости от входных параметров процедуры будут меняться свойства DTS пакета, кроме как через Ole я этого не сделаю.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015479
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВСЕ свойства DTS пакета могут быть заданы(созданы, удалены, изменены) либо с помощью входных переменных, либо внутри самого пакета с помощью AciveX Script Task и Dynamic Properties Task.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015481
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как я с помощью dtsrun передам параметы, ведь я немогу инициализировать глобальные переменные через dtsrun. Например пакет выводит таблицу в файл. Файл выводиться в каталог заданный пользователем. Как мне изменять значение DataSource.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015485
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1-ый способ

По порядку с самого начала
1. New Package
2. Создаем Connection к нужной базе (Microsoft OLE DB Provider for SQL)
3. Создаем Text File(Destination) Connection - File name задаем любое, устанавливаем параметры(Delemited/Fixed, ...)
4. Создаем Package Global Variable - в меня - Package - Properties - Global variables например подд именем OutputFileName, тип - string, value - неважно
5. Создаем Dynamic Properties Task - в нем Add... - находи в дереве наш Text File(Destination) Connection - у него справа в списке Properties выбираем DataSource - кнопка Set... - в диалоге выбираем Source-Global Variable, a Source Information-Variable нашу переменную OutputFileName - OK - OK.
6. Связываем Dynamic Properties Task и Microsoft OLE DB Provider for SQL через Workflow On Success.
7. Записываем пакет под именем MyPackage.


Теперь переходим в Query Analyzer

exec master..xp_cmdshell 'dtsrun /S mysqlserver /NMyPackage /E /AOutputFileName:8=c:\mydir1\out1.txt'
go

exec master..xp_cmdshell 'dtsrun /S mysqlserver /NMyPackage /E /AOutputFileName:8=c:\mydir2\out2.txt'
go

Получаем 2 файла в разных директорях.
Ключ /E используется для trusted connection к SQL-ю, его можно заменить на комбинацию /Uusername /Ppassword
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015486
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2-ой способ

Пункты 1-4 из способа 1 повторяем

5. Создаем ActiveX Script Task со следующим кодом
Function Main()
Dim dtsPackage
Set dtsPackage = DTSGlobalVariables.Parent

Dim dtsTextConnection
Set dtsTextConnection = DtsPackage.Connections("Text File(Destination)")

dtsTextConnection.DataSource = DTSGlobalVariables("OutputFileName").Value
Main = DTSTaskExecResult_Success
End Function

6. Связываем ActiveX Script Task и Microsoft OLE DB Provider for SQL через Workflow On Success.

Запуск пакета осуществляем как и в предыдущем способе.


Лучше всем объектам в пакете давать какие-нибудь "нормальные" имена, для более удобных и наглядных манипуляций ими в ActiveX Script Task и Dynamic Properties Task.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015487
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Должно работать на SQL Server 7.0 . Способ предлагаемый тобой работает на 2000.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015488
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше о версии используемого SQL-я сообщать в 1-ом сообщении темы, а не в последнем
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015490
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь за наезд - это у меня чт-то плохо с глазами.

А разве 2-ой вариант на SQL 7-ом то же не работает ?
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015491
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В BOL для dtsrun не описанна возможность инициализации глобалных переменных.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015495
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы случайно свои премеры запуска пакетов не отсюда брали
http://www.swynk.com/friends/green/dtsole3.asp
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015504
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не с этой статьи, но с этого сайта.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015505
AlexR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не с этой статьи, но с этого сайта.
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015510
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто в вашем примере я не вижу строк


-- Evaluate Security and Build LoadFromSQLServer Statement
IF @IntSecurity = 0
SET @Cmd = ' LoadFromSQLServer ("' + @Server +'", "' + SUSER_SNAME() + '", "' + @ServerPWD + '", 0, "' + @PkgPWD + '", , , "' + @PkgName + '")'
ELSE
SET @Cmd = ' LoadFromSQLServer ("' + @Server +'", "", "", 256, "' + @PkgPWD + '", , , "' + @PkgName + '")'


Может быть в этом дело ?
...
Рейтинг: 0 / 0
Почему не запускаеться DTS пакет.
    #32015511
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не не вижу, а вижу меньшее количество входных параметров для LoadFromSQLServer.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Почему не запускаеться DTS пакет.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]