Solved

SSIS package error while migrating to sql server 2005 64 bit

Posted on 2010-08-24
5
573 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

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

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

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
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.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

749 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