Re: Executing DTS from Code (correction)

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



I meant sp_OA. .. not sp_XOA . . .

"WhiskyRomeo" wrote:

> Granting execute permision to the sp_XOA..... stored procedures in the Master
> database solved this problem.
>
> WR
>
> "Allan Mitchell" wrote:
>
> > Ok so who will be executing the VB.Net code on the server?
> >
> > Get that account and log in to the server as that account. Now go to QA
> > and execute the proc.
> >
> > Can you?
> >
> > Allan
> >
> > "WhiskyRomeo" <WhiskyRomeo@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
> > news:E8426EBB-4F4B-4FC2-AFE6-EAFF074C52C1@xxxxxxxxxxxxx:
> >
> > > I have VB.Net code that executes a store procedure that executes a DTS
> > > package.
> > >
> > > Everything works fine on my development workstation which has SQL Server
> > > installed locally. I moved the DTS package to the production server and
> > > installed the application on the production server. I can execute the
> > > DTS
> > > package directly (in Enterpise Manager) on the production server
> > > sucessfully;
> > > and I can execute sucessfully the stored procedure (in Query Analyzer)
> > > that
> > > runs the DTS package. When moving the application code I only have to
> > > account for a different Server Name, otherwise everything else is
> > > identical.
> > >
> > > However, when executing the Package from code ( via calling the store
> > > procedure) the DTS package does not execute. I have verified the store
> > > procedure executes with the correct parameters. If the DTS package
> > > executed,
> > > it would have written to the log file for that DTS (whether sucessfull
> > > or
> > > not).
> > >
> > > I am logged in as Administrator and the package owner is Administrator.
> > >
> > > I suspect this is a persmission issue; but I am cluesless at this point.
> > > Any help is appreciated.
> > >
> > > WR
> > >
> > > Here is the stored procedure( which works just fine):(I have verified
> > > that
> > > that the parameters values passed to it are correct)
> > >
> > > CREATE PROCEDURE spExecuteDTS_CompImport
> > >
> > > @LabOrderNbr varchar(15),
> > > @Server varchar(255),
> > > @PkgName varchar(255), -- Package Name (Defaults to most recent version)
> > > @ConnSubject varchar(25) = '',
> > > @ConnAssociate varchar(25) = '',
> > > @ConnLink varchar(25) = '',
> > > @PathSubject varchar(255) = '', -- Path to Source File
> > > @PathAssociate varchar(255) = '',
> > > @PathLink varchar(255) = '',
> > > @ServerPWD varchar(255) = Null, -- Server Password if using SQL Security
> > > to
> > > load Package (UID is SUSER_NAME())
> > > @Security bit = 1, -- 0 = SQL Server Security, 1 = Integrated Security
> > > @PkgPWD varchar(255) = '' -- Package Password
> > >
> > > AS
> > > SET NOCOUNT ON
> > >
> > > DECLARE @hr int, @ret int, @oPKG int, @Cmd varchar(1000), @Connection
> > > varchar(255)
> > >
> > > Select @ret = 0
> > >
> > > Delete tblImportPerson where LabOrderNbr = @LabOrderNbr --this will
> > > cascade
> > > to tblImportAddress
> > > Delete tblImportLink where LabOrderNbr = @LabOrderNbr
> > > print 'after delete tblImportLink'
> > >
> > > -- Create a Pkg Object
> > > EXEC @hr = sp_OACreate 'DTS.Package', @oPKG OUTPUT
> > > print 'created package'
> > >
> > > SET @Cmd = 'LoadFromSQLServer("' + @Server +'", "", "", 256, "' +
> > > @PkgPWD +
> > > '", , , "' + @PkgName + '")'
> > > Print 'Loaded from server'
> > > EXEC @hr = sp_OAMethod @oPKG, @Cmd, NULL
> > > Print 'Executed sp_OAMethod'
> > > -- Set Connections property
> > > Select @Connection = 'Connections.Item(' + @ConnSubject + ').DataSource'
> > > print 'Connection' + @Connection
> > > EXEC @hr = sp_OASetProperty @oPKG, @Connection, @PathSubject
> > > If @hr <> 0
> > > BEGIN
> > > PRINT '*** OASetProperty for Connection Subject Failed***'
> > > EXEC sp_OAGetErrorInfo @oPkg
> > > RETURN
> > > END
> > >
> > > Select @Connection = 'Connections.Item(' + @ConnAssociate +
> > > ').DataSource'
> > > EXEC @hr = sp_OASetProperty @oPKG, @Connection, @PathAssociate
> > > If @hr <> 0
> > > BEGIN
> > > PRINT '*** OASetProperty for Connection Associate Failed***'
> > > EXEC sp_OAGetErrorInfo @oPkg
> > > RETURN
> > > END
> > >
> > > Select @Connection = 'Connections.Item(' + @ConnLink + ').DataSource'
> > > EXEC @hr = sp_OASetProperty @oPKG, @Connection, @PathLink
> > > If @hr <> 0
> > > BEGIN
> > > PRINT '*** OASetProperty for Connection Link Failed***'
> > > EXEC sp_OAGetErrorInfo @oPkg
> > > RETURN
> > > END
> > >
> > > -- Execute Pkg
> > > EXEC @hr = sp_OAMethod @oPKG, 'Execute'
> > > print 'Executed Package'
> > > -- Unitialize the Pkg
> > > EXEC @hr = sp_OAMethod @oPKG, 'UnInitialize'
> > >
> > > -- Clean Up
> > > EXEC @hr = sp_OADestroy @oPKG
> > >
> > > UPDATE tblImportPerson SET AssociatedSubject_ID = IL.SubjectImport_ID
> > > FROM tblImportPerson IP INNER JOIN tblImportLink IL ON IP.Import_ID =
> > > IL.AssociateImport_ID
> > > WHERE IP.LabOrderNbr = @LabOrderNbr
> > >
> > >
> > >
> > > RETURN @ret
> > > GO
> >
> >
.



Relevant Pages

  • Re: Which to use?? DTSRun v/s DTS.Package v/s sp_start_job
    ... Use COM+ to abstract away from IWAM, and user a defined account perhaps- ... server will no allow sp_start_job. ... create a job and set a schedule to execute in now+1. ...
    (microsoft.public.sqlserver.dts)
  • Re: File Upload - Security Issues
    ... uploaded and the user could upload any or all of these in theory. ... There is no one product that can give you 100% security, ... > Code doesn't execute in local memory space unless remote user has rights ... > You don't have MS Office installed on the server. ...
    (microsoft.public.scripting.vbscript)
  • Cross post recommended on this seemingly sinple problem
    ... >I have an ActiveX Script task in a DTS package which executes fine ... Why does the scheduled job not execute ... > schedule and the account is a domain account with windows ... even with both the package and the job owned by the same account (I ...
    (microsoft.public.sqlserver.dts)
  • Re: Execute Persmission denied on object sp_OACreate
    ... Perhaps the user's login is a sysadmin role member on the dev server? ... >>> I logged in as that user, tried to execute the DTS ... >> account is used during proc execution. ... If so what access and permissions. ...
    (microsoft.public.sqlserver.security)
  • Re: Error in VC++ .NET Service
    ... Are you sure that that account has enough privileges to execute all of the ... > service calls a VB .NET executable (This users INTEROP dll's). ... > the server but no avail. ...
    (microsoft.public.dotnet.framework.interop)