dbTalk Databases Forums  

call a SSIS or DTS Packages from a stored procedure

microsoft.public.sqlserver.dts microsoft.public.sqlserver.dts


Discuss call a SSIS or DTS Packages from a stored procedure in the microsoft.public.sqlserver.dts forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Mr Not So Know It All
 
Posts: n/a

Default call a SSIS or DTS Packages from a stored procedure - 11-02-2008 , 08:20 AM






I'm new to SSIS. When i used SQL 2000 and DTS, I was able to call a
DTS package from a stored procedrue. Can I do the same with DTSX or
SSIS packages. I've tried using the following code ->

================================================== ====================
DECLARE @hr INT, @oPKG INT, @Cmd VARCHAR(1000), @RetVal INT, @PkgName
varchar(255), @oStep varchar(255)
Declare @GVOutput int, @out_error varchar(50)
EXEC @hr = sp_OACreate 'DTS.Package', @oPKG OUT

Set @PkgName = 'WriteFileToDisk'
SET @Cmd = 'LoadFromSQLServer("(local)", "", "", 256, , , , "'+@PkgName
+'")'
EXEC @hr = sp_OAMethod @oPKG, @Cmd , NULL

EXEC @hr = sp_OAMethod @oPKG, 'Execute'

IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @oPKG

set @out_error = 'Error '
print @hr
END
else
begin
set @out_error = 'No Error'
end
print @out_error

EXEC @hr = sp_OADestroy @oPKG
================================================== ==================
When I run this code, I get the following error -
0x800403ED Microsoft Data Transformation Services (DTS)
Package No Steps have been defined for the transformation
Package. sqldts80.hlp 700

Also, I've used this code ->
++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++
DECLARE @object int
DECLARE @hr int

--create a package object
EXEC @hr = sp_OACreate 'DTS.Package', @object OUTPUT
if @hr <> 0
BEGIN
print 'error create DTS.Package'
RETURN
END

EXEC @hr = sp_OAMethod @object, 'LoadFromStorageFile',
NULL, 'C:\WriteFileToDisk.dtsx', ''
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object

print 'error LoadFromStorageFile'
RETURN
END

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

I get this error -
0x80040504 Microsoft Data Transformation Services (DTS)
Package The specified file is not a Package Storage
File. sqldts80.hlp 704

I've tried using dtexec and xp_cmdshell. i get a success message but
no package result. Here is that code.
__________________________________________________ _______________________________
Declare @cmd varchar(1000)

select @cmd = 'dtexec /F "c:\WriteFileToDisk.dtsx"'
exec master..xp_cmdshell @cmd

Any help would be appreciated.

Thx

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.