December 10, 2008 at 9:27 am
Hello
I have written an SSIS package that makes use of 32 bit drivers for connecting to the data source, I can get this working by setting the relevent option in visual studio and it is fine. However I am struggling to get it to function under SQL 2005 SP2 64 bit.
I know that under SQL 2008 there is a /X86 option on DTExec, however does anyone know of a comparable option for SQL 2005?? I have had a look around and not been able to find anthing that makes much sense.
Cheers
December 10, 2008 at 11:28 am
That option is not available in the job agent in SQL 2005. You have to call the SSIS package using the CMD step type and give the path to the 32 bit DTExec.exe.
Search google a bit for this, it is pretty common.
December 10, 2008 at 1:02 pm
ok I'll give it another go.
January 17, 2010 at 10:57 am
Hello!
Please check following link:
This is an example of running SSIS package in the 32-bits mode from SQL stored procedure:
DECLARE @result INT,
@dtsExecCmd varchar(8000)
-- Assign values to package variables
-- @pNumber - SP parameter
SET @dtsExecCmd = ' /SET "\package.Variables[User::pNumber].Properties[Value]";' + cast(@pNumber as varchar(10))
SET @dtsExecCmd = 'c: & cd\ & cd "C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\" & dtexec.exe /FILE "C:\SSIS\V5.dtsx" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING EWCDI ' + @dtsExecCmd
-- following lines will work when package was deployed on SQL and OS level by running of .SSISDeploymentManifest file.
-- SET @dtsExecCmd = 'c: & cd\ & cd "C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\" & dtexec.exe /SQL "\V5" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING EW ' + @dtsExecCmd
-- SET @dtsExecCmd = 'c: & cd\ & cd "C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\" & dtexec.exe /DTS "\MSDB\V5" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V ' + @dtsExecCmd
/*
Previuos lines let us to run SSIS package in the 32-bit mode, because we are running 32-bits version of dtexec.exe.
Note – cmdshell will run multiple DOS commands by one call (operands splitted by “&”).
*/
DECLARE @output TABLE( [ssisOutput] varchar(max) )
INSERT INTO @output
EXEC @result = master..xp_cmdshell @dtsExecCmd
if @pDebugMode = 1 -- input parameter of SQL sp
begin
SELECT * FROM @output
print @result
end
Good luck,
Sergey
November 13, 2013 at 12:37 pm
Hey - I know this is a very old post, but I must have spent *hours* searching for the solution, and this was *exactly* what I needed.
Thanks a ton Sergey! You've saved me countless more hours of fruitless searching and forced re-writing of scripts!
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply