Please start any new threads on our new 
    site at https://forums.sqlteam.com.  We've got lots of great SQL Server
    experts to answer whatever question you can come up with. 
    
        
            
                
                    
                        
                            
                                | Author | 
                                
                                 Topic  | 
                             
                            
                                    | 
                                         Pete_N 
                                        Posting Yak  Master 
                                         
                                        
                                        181 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2014-07-31 : 17:54:22
                                            
  | 
                                             
                                            
                                            | ALTER PROCEDURE [dbo].[sp_ClientUser_Dtsx_add]	@ID int,	@Licence varchar(6),	@IsMaster int,	@IsClientMaster int,	@Forename varchar(32),	@Surname varchar(32),	@Position varchar(256),	@Telephone varchar(32),	@Extension varchar(32),	@Emergency varchar(32),	@Mobile varchar(32),	@Fax varchar(32),	@Email varchar(100),	@Password varchar(32),	@locked int,	@PERDAccounts int,	@PERImport int,	@PERManual int,	@PERSubmit int,	@PERSecuritySubmit int,	@Active int,	@CreatedByID intASBEGIN	SET NOCOUNT ON;	DECLARE @ssisPkgFilePath varchar(500)	SET @ssisPkgFilePath = 'UserProfiles_add.dtsx'	IF nullif(ltrim(rtrim(@ssisPkgFilePath)), '') is null	begin	--{		RAISERROR( 'Invalid ''ssisPkgFilePath'' value' /*Message*/, 16 /*Severity*/, 1 /*State (arbitary number)*/ )	--}	end	DECLARE @dtsExecCmd varchar(4000) -- varchar(8000) is the max length allowed for "varchar"	SET @dtsExecCmd = 'dtexec /F "' + ltrim(rtrim(@ssisPkgFilePath)) + '"'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::ID].Properties[Value]";"\"' + (@ID)+ '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Licence].Properties[Value]";"\"' + @Licence + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::IsMaster].Properties[Value]";"\"' + @IsMaster + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::IsClientMaster].Properties[Value]";"\"' + @IsClientMaster + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Forename].Properties[Value]";"\"' + @Forename + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Surname].Properties[Value]";"\"' + @Surname + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Position].Properties[Value]";"\"' + @Position + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Telephone].Properties[Value]";"\"' + @Telephone + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Extension].Properties[Value]";"\"' + @Extension + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Emergency].Properties[Value]";"\"' + @Emergency + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Mobile].Properties[Value]";"\"' + @Mobile + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Fax].Properties[Value]";"\"' + @Fax + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Email].Properties[Value]";"\"' + @Email + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Password].Properties[Value]";"\"' + @Password + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::locked].Properties[Value]";"\"' + @locked + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERDAccounts].Properties[Value]";"\"' + @PERDAccounts + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERImport].Properties[Value]";"\"'  + @PERImport + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERManual].Properties[Value]";"\"' + @PERManual + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERSubmit].Properties[Value]";"\"' + @PERSubmit + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERSecuritySubmit].Properties[Value]";"\"' + @PERSecuritySubmit + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Active].Properties[Value]";"\"' + @Active + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::CreatedByID].Properties[Value]";"\"' + @CreatedByID + '\""'	DECLARE @result INT	PRINT @dtsExecCmd	DECLARE @output TABLE( [ssisOutput] varchar(max) )	INSERT INTO @output	--{		EXEC @result = master..xp_cmdshell @dtsExecCmd	--}	IF (@result is not null and @result<>0) OR EXISTS(select 1 from @output where ssisoutput like '%error%')	begin		SELECT * FROM @output	end	SET NOCOUNT OFF;ENDConversion failed when converting the varchar value 'dtexec /F "UserProfiles_add.dtsx" /SET "\package.Variables[User::ID].Properties[Value]";"\' to data type int. | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     tkizer 
                                    Almighty SQL Goddess 
                                     
                                    
                                    38200 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-31 : 17:58:21
                                          
  | 
                                         
                                        
                                          | You'll need to add converts for all of the non varchar data types that you are using in your concatenation for @dtsExecCmd. For instance, you need a convert for @ID, needs to be converted to varchar in order to add it to @dtsExecCmd.Tara KizerSQL Server MVP since 2007http://weblogs.sqlteam.com/tarad/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     Pete_N 
                                    Posting Yak  Master 
                                     
                                    
                                    181 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-07-31 : 19:01:34
                                          
  | 
                                         
                                        
                                          quote: Originally posted by tkizer You'll need to add converts for all of the non varchar data types that you are using in your concatenation for @dtsExecCmd. For instance, you need a convert for @ID, needs to be converted to varchar in order to add it to @dtsExecCmd.Tara KizerSQL Server MVP since 2007http://weblogs.sqlteam.com/tarad/
  could you give me an example please  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     tkizer 
                                    Almighty SQL Goddess 
                                     
                                    
                                    38200 Posts  | 
                                    
                                      
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     Pete_N 
                                    Posting Yak  Master 
                                     
                                    
                                    181 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-08-01 : 06:08:00
                                          
  | 
                                         
                                        
                                          | Thank you for your help, that is one problem out of the way, however I now have come up with a different one,If for instance @position is a NULL how should that be handled in the script?  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     Pete_N 
                                    Posting Yak  Master 
                                     
                                    
                                    181 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-08-01 : 06:21:18
                                          
  | 
                                         
                                        
                                          | I have tried SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Position].Properties[Value]";"\"'           + ISNULL(@Position,'''')                  + '\""'however it results in a ' in the field  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     tkizer 
                                    Almighty SQL Goddess 
                                     
                                    
                                    38200 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-08-01 : 12:38:43
                                          
  | 
                                         
                                        
                                          | Remove two of the single quotes in the ISNULL.Tara KizerSQL Server MVP since 2007http://weblogs.sqlteam.com/tarad/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     Pete_N 
                                    Posting Yak  Master 
                                     
                                    
                                    181 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-08-01 : 12:48:21
                                          
  | 
                                         
                                        
                                          | I have tried that but get the following error The argument "\package.Variables[User::Position].Properties[Value];"" has mismatched quotes.	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Position].Properties[Value]";"\"'           + ISNULL(@Position,'')                  + '\""'  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     tkizer 
                                    Almighty SQL Goddess 
                                     
                                    
                                    38200 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-08-01 : 12:51:31
                                          
  | 
                                         
                                        
                                          | Works fine for me:set @Position = 'position1'SET @dtsExecCmd = ' /SET "\package.Variables[User::Position].Properties[Value]";"\"' + ISNULL(@Position,'') + '\""'print @dtsExecCmdset @Position = NULLSET @dtsExecCmd = ' /SET "\package.Variables[User::Position].Properties[Value]";"\"' + ISNULL(@Position,'') + '\""'print @dtsExecCmdPlease provide sample data and test that shows the issue.Tara KizerSQL Server MVP since 2007http://weblogs.sqlteam.com/tarad/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     Pete_N 
                                    Posting Yak  Master 
                                     
                                    
                                    181 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-08-01 : 14:44:03
                                          
  | 
                                         
                                        
                                          | Hi, I am  calling it from a SpDECLARE	@return_value intEXEC	@return_value = [dbo].[sp_ClientUser_Dtsx_add]		@ID = 123123,		@Licence = N'986532',		@IsMaster = 0,		@IsClientMaster = 0,		@Forename = N'Harry',		@Surname = N'Potter',		@Position = Null,		@Telephone = '123456',		@Extension = '12',		@Emergency = '123654',		@Mobile = '258369',		@Fax = '741369',		@Email = 'me@me.co.uk',		@Password = 'testpassword',		@locked = 0,		@PERDAccounts = 0,		@PERImport = 0,		@PERManual =0,		@PERSubmit = 0,		@PERSecuritySubmit = 0,		@Active = 1,		@CreatedByID = 1537SELECT	'Return Value' = @return_valueALTER PROCEDURE [dbo].[sp_ClientUser_Dtsx_add]	@ID int,	@Licence varchar(6),	@IsMaster int,	@IsClientMaster int,	@Forename varchar(32),	@Surname varchar(32),	@Position varchar(256),	@Telephone varchar(32),	@Extension varchar(32),	@Emergency varchar(32),	@Mobile varchar(32),	@Fax varchar(32),	@Email varchar(100),	@Password varchar(32) ,	@locked int,	@PERDAccounts int,	@PERImport int,	@PERManual int,	@PERSubmit int,	@PERSecuritySubmit int,	@Active int,	@CreatedByID intASBEGIN	SET NOCOUNT ON;	DECLARE @ssisPkgFilePath varchar(500)	SET @ssisPkgFilePath = 'UserProfiles_add.dtsx'	IF nullif(ltrim(rtrim(@ssisPkgFilePath)), '') is null	begin	--{		RAISERROR( 'Invalid ''ssisPkgFilePath'' value' /*Message*/, 16 /*Severity*/, 1 /*State (arbitary number)*/ )	--}	end	DECLARE @dtsExecCmd varchar(8000) -- varchar(8000) is the max length allowed for "varchar"	SET @dtsExecCmd = 'dtexec /F "' + ltrim(rtrim(@ssisPkgFilePath)) + '"'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::ID].Properties[Value]";"\"'                 + CONVERT(varchar(10), @ID)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Licence].Properties[Value]";"\"'            + @Licence                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::IsMaster].Properties[Value]";"\"'           + CONVERT(varchar(10), @IsMaster)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::IsClientMaster].Properties[Value]";"\"'     + CONVERT(varchar(10), @IsClientMaster)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Forename].Properties[Value]";"\"'           + @Forename                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Surname].Properties[Value]";"\"'            + @Surname                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Position].Properties[Value]";"\"'           + ISNULL(@Position,'')                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Telephone].Properties[Value]";"\"'          + ISNULL(@Telephone,'''')                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Extension].Properties[Value]";"\"'          + ISNULL(@Extension,'''')                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Emergency].Properties[Value]";"\"'          + ISNULL(@Emergency,'''')                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Mobile].Properties[Value]";"\"'             + ISNULL(@Mobile ,'''')                 + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Fax].Properties[Value]";"\"'                + ISNULL(@Fax ,'''')                 + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Email].Properties[Value]";"\"'              + @Email                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Password].Properties[Value]";"\"'           + @Password                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::locked].Properties[Value]";"\"'             + CONVERT(varchar(10), @locked)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERDAccounts].Properties[Value]";"\"'       + CONVERT(varchar(10), @PERDAccounts)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERImport].Properties[Value]";"\"'          + CONVERT(varchar(10), @PERImport)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERManual].Properties[Value]";"\"'          + CONVERT(varchar(10), @PERManual)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERSubmit].Properties[Value]";"\"'          + CONVERT(varchar(10), @PERSubmit)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::PERSecuritySubmit].Properties[Value]";"\"'  + CONVERT(varchar(10), @PERSecuritySubmit)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::Active].Properties[Value]";"\"'             + CONVERT(varchar(10), @Active)                  + '\""'	SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::CreatedByID].Properties[Value]";"\"'        + CONVERT(varchar(10), @CreatedByID)                  + '\""'	DECLARE @result INT	DECLARE @output TABLE( [ssisOutput] varchar(max) )	INSERT INTO @output	--{		EXEC @result = master..xp_cmdshell @dtsExecCmd	--}	IF (@result is not null and @result<>0) OR EXISTS(select 1 from @output where ssisoutput like '%error%')	begin		SELECT * FROM @output	end	SET NOCOUNT OFF;ENDErrorMicrosoft (R) SQL Server Execute Package UtilityVersion 12.0.2000.8 for 64-bitCopyright (C) Microsoft Corporation. All rights reserved.NULLThe argument "\package.Variables[User::Position].Properties[Value];"" has mismatched quotes.NULL  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     tkizer 
                                    Almighty SQL Goddess 
                                     
                                    
                                    38200 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2014-08-01 : 14:58:52
                                          
  | 
                                         
                                        
                                          | I ran your code with a slight modification so that I can see the @dtsExecCmd string, and it produces this:dtexec /F "UserProfiles_add.dtsx" /SET "\package.Variables[User::ID].Properties[Value]";"\"123123\"" /SET "\package.Variables[User::Licence].Properties[Value]";"\"986532\"" /SET "\package.Variables[User::IsMaster].Properties[Value]";"\"0\"" /SET "\package.Variables[User::IsClientMaster].Properties[Value]";"\"0\"" /SET "\package.Variables[User::Forename].Properties[Value]";"\"Harry\"" /SET "\package.Variables[User::Surname].Properties[Value]";"\"Potter\"" /SET "\package.Variables[User::Position].Properties[Value]";"\"\"" /SET "\package.Variables[User::Telephone].Properties[Value]";"\"123456\"" /SET "\package.Variables[User::Extension].Properties[Value]";"\"12\"" /SET "\package.Variables[User::Emergency].Properties[Value]";"\"123654\"" /SET "\package.Variables[User::Mobile].Properties[Value]";"\"258369\"" /SET "\package.Variables[User::Fax].Properties[Value]";"\"741369\"" /SET "\package.Variables[User::Email].Properties[Value]";"\"me@me.co.uk\"" /SET "\package.Variables[User::Password].Properties[Value]";"\"testpassword\"" /SET "\package.Variables[User::locked].Properties[Value]";"\"0\"" /SET "\package.Variables[User::PERDAccounts].Properties[Value]";"\"0\"" /SET "\package.Variables[User::PERImport].Properties[Value]";"\"0\"" /SET "\package.Variables[User::PERManual].Properties[Value]";"\"0\"" /SET "\package.Variables[User::PERSubmit].Properties[Value]";"\"0\"" /SET "\package.Variables[User::PERSecuritySubmit].Properties[Value]";"\"0\"" /SET "\package.Variables[User::Active].Properties[Value]";"\"1\"" /SET "\package.Variables[User::CreatedByID].Properties[Value]";"\"1537\""You'll need to help show us where the issue is in that command so that we know what part of the code to look at.Here is the slight modification. I changed your stored procedure so that the last 5 lines of code are this:SET @dtsExecCmd = @dtsExecCmd + ' /SET "\package.Variables[User::CreatedByID].Properties[Value]";"\"' + CONVERT(varchar(10), @CreatedByID) + '\""'print @dtsExecCmdENDThe key part is the print. You need to get that output correct first.Tara KizerSQL Server MVP since 2007http://weblogs.sqlteam.com/tarad/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |   
     
     
            
              
	     |  
		
			
     
          
		 |