Solved

SSIS package error while migrating to sql server 2005 64 bit

Posted on 2010-08-24
5
575 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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 500 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

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

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

The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.

623 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