Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

SSIS package error while migrating to sql server 2005 64 bit

Posted on 2010-08-24
5
Medium Priority
?
578 Views
Last Modified: 2013-11-10
hi,
     I am importing excel file data into sql server using SSIS package. Its working fine in SQL Server 2005 32 bit edition. Now I am planing to migrate to sql server 2005 64 bit. I have checked throughout the internet for 64bit excel drivers. But I am not able to find any 64 bit drivers.
     So I have used the 32 bit DTEXEC utiltiy from C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\DTExec.exe. But while running the following script, I am getting the following error.

output
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The input line is too long.
NULL

If I print @cmd, I am getting the following,

""C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\DTExec.exe"" /F "E:\SSIS\ARMDNY\ARMDNY\ARMDNY\ARMDNY_DOTNETDumpUpload.dtsx" /SET \Package.Variables[User::DB].Properties[Value];"ARMDNY" /SET \Package.Variables[User::DumpIndicator].Properties[Value];"ARMDNY_1" /SET \Package.Variables[User::DumpType].Properties[Value];"MASTER" /SET \Package.Variables[User::RecvdDt].Properties[Value];"08/23/2010" /SET \Package.Variables[User::UpldBy].Properties[Value];"SUN1849" /SET \Package.Variables[User::UpldDt].Properties[Value];"08/23/2010" /SET \Package.Variables[User::SSISPath].Properties[Value];"E:\SSIS\ARMDNY\ARMDNY\ARMDNY\ARMDNY_DOTNETDumpUpload.dtsx"

If i run this manually in cmd prompt, its working perfectly. But its not working, while trying to excute by xp_cmdshell in the above script.

I don't understand where the issue is?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DECLARE
	@DB VARCHAR(20),
	@DUMP_ID VARCHAR(50),
	@DUMP_TYPE VARCHAR(10),
	@RECEIVED_DT varchar(10),
	@UPLOAD_DATE VARCHAR(30),
	@UPDATED_BY VARCHAR(10),
	@DEBUG BIT

SET	@DB ='ADVENTNET'
SET	@DUMP_ID = 'ADVENTNET_1'
SET	@DUMP_TYPE = 'MASTER'
SET	@RECEIVED_DT = '08/23/2010'
SET	@UPLOAD_DATE = '08/25/2010'
SET	@UPDATED_BY = 'AKJ4232'
SET	@DEBUG = 0

SET NOCOUNT OFF

declare @cmd varchar(1000)
declare @ssispath varchar(1000)
declare @DTS_ExePath varchar(1000)

set @ssispath = 'E:\SSIS\ADVENTNET\ADVENTNET\ADVENTNET\ADVENTNET_DOTNETDumpUpload.dtsx'

select @cmd = '""C:\Program Files (x86)\Microsoft SQL Server\90\DTS\Binn\DTExec.exe"/F "' + @ssispath + '"'
select @cmd = @cmd + ' /SET \Package.Variables[User::DB].Properties[Value];"' + @DB + '"' 
select @cmd = @cmd + ' /SET \Package.Variables[User::DumpIndicator].Properties[Value];"' + @DUMP_ID + '"' 
select @cmd = @cmd + ' /SET \Package.Variables[User::DumpType].Properties[Value];"' + @DUMP_TYPE + '"' 
select @cmd = @cmd + ' /SET \Package.Variables[User::RecvdDt].Properties[Value];"' + @RECEIVED_DT + '"' 
select @cmd = @cmd + ' /SET \Package.Variables[User::UpldBy].Properties[Value];"' + @UPDATED_BY + '"' 
select @cmd = @cmd + ' /SET \Package.Variables[User::UpldDt].Properties[Value];"' + @UPLOAD_DATE + '"' 
select @cmd = @cmd + ' /SET \Package.Variables[User::SSISPath].Properties[Value];"' + @SSISPATH + '"'

set @cmd = rtrim(ltrim(@cmd))
print @cmd

exec master..xp_cmdshell @cmd

SET NOCOUNT ON;

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

Open in new window

0
Comment
Question by:PrakashRaoBS
5 Comments
 
LVL 11

Expert Comment

by:aelliso3
ID: 33510658
Did you check the 32 bit runtime in the Execution options tab
As you pointed out, the office import features will not work in 64bit mode  (Thx MS)
0
 
LVL 11

Expert Comment

by:aelliso3
ID: 33510680
This may help with the /86 switch for running it:
http://msdn.microsoft.com/en-us/library/ms162810.aspx 
0
 
LVL 16

Expert Comment

by:vdr1620
ID: 33510807
You don have 64 bit drivers for Excel.. You can use the 32 bit

This Might help ..Just give it a shot
change the project properties to run in 32 bit environment ?
Rt Click on Project in BIDS --->Properties--->Debugging---> In the Debug Options Change the Run64BitRunTime  To False

0
 
LVL 2

Accepted Solution

by:
rajeshprasath earned 2000 total points
ID: 33511330
Can you try copying the 32-bit DTEXEC to any other location like C:\DTEXEC.exe and also remove "" from the DTEXEC.exe path.
0
 
LVL 3

Author Closing Comment

by:PrakashRaoBS
ID: 33512013
Really good catch. Thanks a lot.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
Ever wondered why sometimes your SQL Server is slow or unresponsive with connections spiking up but by the time you go in, all is well? The following article will show you how to install and configure a SQL job that will send you email alerts includ…
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

782 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question