Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / local DTS / 21 сообщений из 21, страница 1 из 1
12.08.2002, 07:11:25
    #32042373
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Как запустить оный из SP?
...
Рейтинг: 0 / 0
12.08.2002, 09:48:53
    #32042395
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Ну хоть кто чего скажет или нет?
...
Рейтинг: 0 / 0
12.08.2002, 10:02:39
    #32042398
KANDed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
To execute a DTS package saved as a COM-structured storage file, use:
dtsrun /Ffilename /Npackage_name /Mpackage_password

To execute a DTS package saved in the SQL Server msdb database, use:
dtsrun /Sserver_name /Uuser_nName /Ppassword /Npackage_name /Mpackage_password

To execute a DTS package saved in Meta Data Services, use:
dtsrun /Sserver_name /Uuser_nrame /Ppassword /Npackage_name /Mpackage_password /Rrepository_name
...
Рейтинг: 0 / 0
12.08.2002, 10:07:01
    #32042400
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Я же говорил про Local DTS не на диске :(
...
Рейтинг: 0 / 0
12.08.2002, 11:19:54
    #32042427
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Ну памажите кто-нибудь!

Нашел код, а он дышит через пень-колоду....

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
if exists (select * from sysobjects where id = 
object_id(N'[dbo].[sp_displayoaerrorinfo]') and OBJECTPROPERTY(id, 
N'IsProcedure') =  1 )
drop procedure [dbo].[sp_displayoaerrorinfo]
GO

if exists (select * from sysobjects where id = 
object_id(N'[dbo].[sp_displaypkgerrors]') and OBJECTPROPERTY(id, 
N'IsProcedure') =  1 )
drop procedure [dbo].[sp_displaypkgerrors]
GO

if exists (select * from sysobjects where id = 
object_id(N'[dbo].[sp_executepackage]') and OBJECTPROPERTY(id, N'IsProcedure') 
=  1 )
drop procedure [dbo].[sp_executepackage]
GO


create proc sp_displayoaerrorinfo
   @object as int 
as
Declare @hr int
DECLARE @output varchar( 255 )
DECLARE @source varchar( 255 )
DECLARE @description varchar( 255 )

   PRINT 'OLE Automation Error Information'

   EXEC @hr = sp_OAGetErrorInfo @object, @source OUT, @description OUT
   IF @hr =  0 
   BEGIN
       SELECT @output = '  Source: ' + @source
       PRINT @output
       SELECT @output = '  Description: ' + @description
       PRINT @output
   END

   ELSE
   BEGIN
       PRINT '  sp_OAGetErrorInfo failed.'
       RETURN
   END
GO


create proc sp_displaypkgerrors
   @pkg as int 
as
declare @numsteps int
declare @steps int
declare @step int
declare @stepresult int
declare @pkgresult int
declare @hr int

   select @pkgresult =  0 

   EXEC @hr = sp_OAGetProperty @pkg, 'Steps', @steps OUTPUT
   IF @hr <>  0 
   BEGIN
       print 'Unable to get steps'
       EXEC sp_displayoaerrorinfo @pkg  --, @hr
 
       RETURN
   END

   EXEC @hr = sp_OAGetProperty @steps, 'Count', @numsteps OUTPUT
   IF @hr <>  0 
   BEGIN
       print 'Unable to get number of steps'
       EXEC sp_displayoaerrorinfo @steps  --, @hr
 
       RETURN
   END
   
   while @numsteps >  0  
   Begin       
       EXEC @hr = sp_OAGetProperty @steps, 'Item', @step OUTPUT, @numsteps
       IF @hr <>  0 
       BEGIN
           print 'Unable to get step'
           EXEC sp_displayoaerrorinfo @steps  --, @hr
 
           RETURN
       END
   
       EXEC @hr = sp_OAGetProperty @step, 'ExecutionResult', @stepresult OUTPUT
       IF @hr <>  0 
       BEGIN
           print 'Unable to get ExecutionResult'
           EXEC sp_displayoaerrorinfo @step  --, @hr
 
           RETURN
       END

       select @numsteps = @numsteps -  1 
       select @pkgresult = @pkgresult + @stepresult
   end
   
   if @pkgresult >  0 
       print 'Package had ' + cast(@pkgresult as varchar) + ' failed step(s)'
   else 
       print 'Packge Succeeded'

GO


create proc sp_executepackage
   @packagename varchar( 255 ),   --package name, gets most recent version
 
   @userpwd varchar( 255 ) = '',    --login pwd
 
   @intsecurity bit =  1 ,        --use non-zero to indicate integrated security
 
   @pkgPwd varchar( 255 ) = '',    --package password
 
   @SQLServer varchar( 255 ) = 'MySQLserver',
   @SQLuser varchar( 255 ) = 'domain\login'
as
declare @hr int
declare @object int

    --create a package object 
 
   EXEC @hr = sp_OACreate 'DTS.Package', @object OUTPUT 
   if @hr <>  0 
   Begin
       EXEC sp_displayoaerrorinfo @object  --, @hr
 
       RETURN
   end 

    --load the package (ADD integrated security support)
 
   declare @svr varchar( 15 )
   declare @login varchar( 15 )
 --   select @login = SUSER_NAME()
 
   select @login = @SQLuser
 --   select @svr = HOST_NAME()
 
   select @svr = @SQLServer
   declare @flag int
   select @flag =  0 

   if @intsecurity =  0  
       if @userpwd = Null
           EXEC @hr = sp_OAMethod @object, 'LoadFromSqlServer',NULL, 
@ServerName=@svr, @ServerUserName=@login, @PackageName=@packagename, 
@Flags=@flag, @PackagePassword = @pkgPwd
            -- ServerName As String, [ServerUserName As String], [ServerPassword As String], [Flags As DTSSQLServerStorageFlags = DTSSQLStgFlag_Default], [PackagePassword As String], [PackageGuid As String], [PackageVersionGuid As String], [PackageName As String], [pVarPersistStgOfHost])
 
       else
           EXEC @hr = sp_OAMethod @object, 'LoadFromSqlServer',NULL, 
@ServerName=@svr, @ServerUserName=@login, @PackageName=@packagename, 
@Flags=@flag, @PackagePassword = @pkgPwd, @ServerPassword = @userpwd
   else
   begin
       select @flag =  256 
       EXEC @hr = sp_OAMethod @object, 'LoadFromSqlServer',NULL, 
@ServerName=@svr, @PackageName=@packagename, @Flags=@flag, @PackagePassword = 
@pkgPwd
   end

   IF @hr <>  0 
   BEGIN
       print 'LoadFromSQLServer failed'
       EXEC sp_displayoaerrorinfo @object  --, @hr
 
       RETURN
   END

    --execute it
 
   EXEC @hr = sp_OAMethod @object, 'Execute'
   IF @hr <>  0 
   BEGIN
       print 'Execute failed'
       EXEC sp_displayoaerrorinfo @object  --, @hr
 
       RETURN
   END

    --return the step errors as a recordset
 
   exec sp_displaypkgerrors @object

    -- unitialize the package
 
   EXEC @hr = sp_OAMethod @object, 'UnInitialize'
   IF @hr <>  0 
   BEGIN
       print 'UnInitialize failed'
       EXEC sp_displayoaerrorinfo @object  --, @hr
 
       RETURN
   END

    -- release the package object
 
   EXEC @hr = sp_OADestroy @object
   if @hr <>  0 
   Begin
       EXEC sp_displayoaerrorinfo @object  --, @hr
 
       RETURN
   end 
GO

...
Рейтинг: 0 / 0
12.08.2002, 12:31:08
    #32042463
snake
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Попробуйте задать JOB для запуска пакета.
(Там в ЕМ есть sheledue package)
И стартуйте его (RTFM sp_start_job) , а не сам пакет...
...
Рейтинг: 0 / 0
12.08.2002, 15:31:34
    #32042544
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Я же говорил про Local DTS не на диске :(

Вам же KANDed указал

To execute a DTS package saved in the SQL Server msdb database , use:
dtsrun /Sserver_name /Uuser_nName /Ppassword /Npackage_name /Mpackage_password
...
Рейтинг: 0 / 0
13.08.2002, 03:21:37
    #32042688
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Я наверное тупой :(

В командной строке работает:

dtsrun /E /Smyserver /Nmypackage

В TSQL нет :(

exec master.dbo.xp_cmdshell 'dtsrun /E /Smyserver /Nmypackage'

Error string: Cannot start your application. The workgroup information file is missing or opened exclusively by another user.

Где собака порылась?
...
Рейтинг: 0 / 0
13.08.2002, 08:08:26
    #32042703
KANDed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
1. Поразмышляй о тех кадрах, от имени которых ты запускаешь dtsrun в разных вариантах.

2. Посмотри это:
OLE DB provider '%ls' reported an error. %ls
Cannot start your application. The workgroup information file is missing or opened exclusively by another user.

Explanation
This error message returned by the Microsoft OLE DB Provider for Jet indicates one of the following:

The Microsoft® Access database is not a secured database and the login and password specified was not Admin with no password.

The Access database is secured and the HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\SystemDB registry key is not pointing to the correct Access workgroup file. Secured Access databases have a corresponding workgroup file, including the full path, which should be indicated by the above registry key.

Action
Verify that there is a login mapping for the current Microsoft SQL Server™ login to Admin with no password.
If the Access database being accessed is secured, make sure that the above registry key points to the full pathname of the Access
...
Рейтинг: 0 / 0
13.08.2002, 08:19:22
    #32042706
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Все выполняется с одной машины. И не из Access а из QA.
...
Рейтинг: 0 / 0
13.08.2002, 08:39:10
    #32042714
KANDed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Ну командная то строка не из QA?
А в QA под кем приконнектился?
А владелец пакета? А его права?...
...
Рейтинг: 0 / 0
13.08.2002, 08:45:00
    #32042717
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Используется trusted connection как для MMC так и для QA. Паролей на DTS нет (иначе бы была иная мессага). И пакеты были созданы и командная строка и QA и MMC бегут на одной клиентской машине. Так что с секюрити вроде бы все путем...
...
Рейтинг: 0 / 0
13.08.2002, 09:08:58
    #32042721
KANDed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Re "trusted connection как для MMC так и для QA"
Не понимаю.
1. Пакет был создан тоже в QA?
2. В командной строке он запускается от имени доменной учетной записи, входящей, видимо, в Login'ы SQL Server'а (скорее всего, по умолчанию, вместе со всеми Doman Administrators)?
3. Вход в QA осуществлен под Win или SQL аутентификацией?
4. Что делает пакет? Куда лезет? Хватает ли прав у владельца и инициатора запуска?
...
Рейтинг: 0 / 0
13.08.2002, 09:35:43
    #32042732
KANDed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Кстати, забыл сказать: Попробуй убрать /Е и пропиши юзера и пасс. Есть похожая проблема .
...
Рейтинг: 0 / 0
13.08.2002, 09:44:20
    #32042735
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Идея...

Этот пакет тащит данные из *.mdb файла со всякими там секюрити что лежат в отдельном *.mdw файле.

Сам пакет был создан в MMC и параметры для *.mdw (путь, логин и пароль) прописаны в нем. Теперь этот пакет выполняется из MMC и командной строчки на удаленном компьютере и не хочет бежать в QA :(
...
Рейтинг: 0 / 0
13.08.2002, 10:12:16
    #32042747
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Получается, что
- DTS package на самом деле запускается
- ошибку вызывает один из Task-ов внутри DTS
- скорее всего это Task обращения к удаленному *.mdb файлу

Причину вижу в том, что MMC запускает DTS package от учетной записи, под которой вы залогинены на консоль
а xp_cmdshell - от имени учетной записи, под которой стартует SQL сервер. Проверьте права этой учетной записи

Почитайте
INF: How to Run a DTS Package as a Scheduled Job

Также можете запустить DTS package с ключом /L log_file_name: , чтобы получить подробный отчет о ходе выполнения пакета
...
Рейтинг: 0 / 0
13.08.2002, 10:37:38
    #32042759
KANDed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Раз уж пошла такая пьянка, то присмотрись и к аккаунту от которого SQL Server Agent запускается. В будущем пригодится. В голове выстроится стройная СИСТЕМА прав и обязанностей.
...
Рейтинг: 0 / 0
14.08.2002, 08:42:10
    #32043043
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Glory,

Сделал как сказано - фифект тот же :( Да и проблема в чем? Я прописал юзера и пароль что в *.mdw сохранены. TAsk там только один - выкачать данные из акцеса в SQL

KANDed,

да я вроде как понимаю всю эту цепочку. Агент мне пока побоку - не работает это все внутри *.sql скрипта :(
...
Рейтинг: 0 / 0
14.08.2002, 09:51:12
    #32043057
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Сделал как сказано - фифект тот же

Что конкретно сделали ?
Кстати, так и не понятно, под какими учетными записями у вас стартуют сервисы MSSQLSERVER и SQLSERVERAGENT. И есть ли у них права на сетевой ресурс с *.mdb файлом.
...
Рейтинг: 0 / 0
14.08.2002, 10:07:44
    #32043063
Gena G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
Учетная запись та же что и логин для удаленного компьютера. Диск расшарен для всеобщего доступа.

SQLSERVERAGENT не запущен вообще
...
Рейтинг: 0 / 0
14.08.2002, 16:39:13
    #32043243
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
local DTS
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / local DTS / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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