Running EXEs On Prod SQL Box Through Execute Process Task - Best Practices
Apr 8, 2008
Hi All,
We're trying to run an EXE from SSIS through "Execute Process" task.
The EXE folder contains other DLLs as well.
The EXE interacts with the database and reporting services and sends some e-mails(max 500 a day) out to customers.
My question is:
Is it ok to run this kind of EXE on the production SQL box?
If not, why?
(People argue that running EXEs is not advisable on production boxes)
Q: Why did Microsoft introduce "Execute Process" task when we cannot run EXEs on the production box?
If somebody can educate whether it's ok to run such EXEs on prod SQLs.
In either case, some explanation is greatly appreciated.
Thanks,
Siva.
View 8 Replies
ADVERTISEMENT
Mar 13, 2008
My problem is that I am trying to set up an Execute Process Task to run a C# executable. The .exe captures information from an ftp site and downloads it into a directory on our server. Here is the command line run:
C:SAXOEodinReleaseSaxoEod
I have set the Execute Process Task up as follows:
Require Full name: True
Executable: C:SaxoEODobjReleaseSaxoEod.exe
FailTaskIfReturnCodeIsNotSuccessValue: False
SuccessValue:0
TimeOut:0
WindowStyle:Normal
I have the FailTaskIfReturnCodeIsNotSuccessValue set to False because when it is set to true I get the following error:
Error: 0xC0029151 at Execute Process Task, Execute Process Task: In Executing "C:SaxoEODobjReleaseSaxoEod.exe" "" at "", The process exit code was "-532459699" while the expected was "0".
Setting FailTaskIfReturnCodeIsNotSuccessValue to False does not work either because the files are not downloaded from the FTP site.
I am relatively new to the SSIS arena. I have googled this thing to death and have not found an answer. Any help in the right direction is appreciated. Thanks.
Dave Christman
View 7 Replies
View Related
Jun 22, 2007
I have a manager SSIS package that calls a generic loader SSIS package, via the 'Execute Process Task'. The manger package (amongst other things) creates a config file and and then executes DTExec passing the config specification in the Arguments property, i.e. '
'/FILE "D:AudiencePackagesUKDW_Core_Loader_Persist.dtsx" /CONFIGFILE "D:AudienceDataSCPmystery.dtsconfig" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF"
It works as expected, but, I always get the warning message 'File/Process "DTExec" is not in path.', I know that it is because the exe runs and loads the correct package which then performs the correct actions.
Have I dropped the ball here? I cannot see any reason for the warning as DelayValidation==True, I could set RequireFullFileName==True, but I do not know where SQL is installed on the various nodes.
Any input would be warmly received
Thanks
View 1 Replies
View Related
Jul 11, 2014
I have an execute process task in SSIS that executes a .Net program.When this is running as a Sql Server Agent job in Sql Server 2005, I have no issues. The operating system of the server is Windows Server 2003 R2.
Now I'm trying to get this working as a Sql Server Agent job in Sql Server 2012. The operating system of the server is Windows Server 2012 R2. And now I have issues.
If I run the SSIS package in Visual Studio debug mode, I have no issues! It's only when I try running the same package from a Sql Server Agent job that there are problems. The .Net program errors out with a System.TypeInitializationException.
I thought this might be an issue running the .Net program as 64 bit so I changed the agent setting to 32 bit. That didn't work. I thought it might be an issue with authorization (since I can run it in debug with me as the user). I put in a class in the program that changes the user through impersonation. That didn't work either.
Since I don't have a full-blown version of Visual Studio on the database server, I haven't been able to capture the error and debug the program to see where it is blowing up.
why something like this would work in Sql Server 2005/Windows 2003 but not in Sql Server 2012/Windows 2012 when run as an agent job? And on top of that, why would it work when I run it manually in debug mode but not when run as an agent job?
View 5 Replies
View Related
Apr 1, 2008
Hello
I'm trying to run a task that executes a script file (cmd). When i run it with in bids with my own users (domain admin) it works. When i start a cmd prompt and try to run the cmd file directly from the network location where it is it works (with my own rights and with the sql server agent user).
Now when i try to run in from smss > agent jobs > job and run job it never completes. Im not getting any error message either it just keeps on running on the step ??? It seems like a rights issue, but the account running the sql server agent is able to execute the cmd file directly from the command prompt.
There are no errors in any error logs anywhere and no error is displayed...
Ps. Im running the job step as a integration service pacgake.
View 8 Replies
View Related
Mar 11, 2008
Dear list
Im designing a package that uses Microsofts preplog.exe to prepare web log files to be imported into SQL Server
What Im trying to do is convert this cmd that works into an execute process task
D:SSIS ProcessPrepweblogProcessLoad>preplog ex.log > out.log
the above dos cmd works 100%
However when I use the Execute Process Task I get this error
[Execute Process Task] Error: In Executing "D:SSIS ProcessPrepweblogProcessLoadpreplog.exe" "" at "D:SSIS ProcessPrepweblogProcessLoad", The process exit code was "-1" while the expected was "0".
There are two package varaibles
User::gsPreplogInput = ex.log
User::gsPreplogOutput = out.log
Here are the task properties
RequireFullFileName = True
Executable = D:SSIS ProcessPrepweblogProcessLoadpreplog.exe
Arguments =
WorkingDirectory = D:SSIS ProcessPrepweblogProcessLoad
StandardInputVariable = User::gsPreplogInput
StandardOutputVariable = User::gsPreplogOutput
StandardErrorVariable =
FailTaskIfReturnCodeIsNotSuccessValue = True
SuccessValue = 0
TimeOut = 0
thanks in advance
Dave
View 1 Replies
View Related
Jan 30, 2007
How do I use the execute process task? I am trying to unzip the file using the freeware PZUnzip.exe and I tried to place the entire command in a batch file and specified the working directory as the location of the batch file, but the task fails with the error:
SSIS package "IngramWeeklyPOS.dtsx" starting.
Error: 0xC0029151 at Unzip download file, Execute Process Task: In Executing "C:ETLPOSDataIngramWeeklyUnzip.bat" "" at "C:ETLPOSDataIngramWeekly", The process exit code was "1" while the expected was "0".
Task failed: Unzip download file
SSIS package "IngramWeeklyPOS.dtsx" finished: Success.
Then I tried to specify the exe directly in the Executable property and the agruments as the location of the zip file and the directory to unzip the files in, but this time it fails with the following message:
SSIS package "IngramWeeklyPOS.dtsx" starting.
Error: 0xC002F304 at Unzip download file, Execute Process Task: An error occurred with the following error message: "%1 is not a valid Win32 application".
Task failed: Unzip download file
SSIS package "IngramWeeklyPOS.dtsx" finished: Success.
The command in the batch file when run from the command line works perfectly and unzips the file, so there is absolutely no problem with the command, I believe it is just the set up of the variables on the execute process task editor under Process. Any input on resolving this will be much appreciated.
Thanks,
Monisha
View 1 Replies
View Related
Mar 20, 2008
I am designing a utility which will keep two similar databases in sync. In other words, copying the new data from db1 to db2 and updating the old data from db1 to db2.
For this I am making use of the 'Tablediff' utility which when provided with server name, database, table info will generate .sql file which can be used to keep the target table in sync with the source table.
I am using the Execute Process Task and the process parameters I am providing are:
WorkingDirectory : C:Program Files (x86)Microsoft SQL Server90COM
Executable : C:SQL_bat_FilesSQL5TC_CTIcustomer.bat
The customer.bat file will have the following code:
tablediff -sourceserver "LV-SQL5" -sourcedatabase "TC_CTI" -sourcetable "CUSTOMER_1" -destinationserver "LV-SQL2" -destinationdatabase "TC_CTI" -destinationtable "CUSTOMER" -f "c:SQL_bat_Filessql5TC_CTIsql_filescustomer1"
the .sql file will be generated at: C:SQL_bat_Filessql5TC_CTIsql_filescustomer1.
The Problem:
The Execute Process Task is working fine, ie., the tables are being compared correctly and the .SQL file is being generated as desired. But the task as such is reporting faliure with the following error :
[Execute Process Task] Error: In Executing "C:SQL_bat_FilesSQL5TC_CTIpackage_occurrence.bat" "" at "C:Program Files (x86)Microsoft SQL Server90COM", The process exit code was "2" while the expected was "0". ]
Some of you may suggest to just set the ForceExecutionResult = Success (infact this is what I am doing now just to get the program working), but, this is not what I desire.
Can anyone help ?
View 9 Replies
View Related
May 5, 2008
We have two different SQLServer 2005 databases, one for development and one for prod. I'm pretty new to DTS, and even newer to SSIS, and am working on converting a bunch of DTSs to SSIS.
Our DTS packages essentially were duplicated and edited for production because of the different server names, and some different directory names for sources and destinations. So the dev package would connect to the DBDEV database, and the prod to DBPROD, for example. When I create a package in dev and then copy it to prod, I have to go in and change all of the connections to now point to prod. There are also global variables pointing to various directories that need to be modified. Worse yet, there are also variables to directories set in ActiveX Script Tasks (which are deprecated and so need to be replaced). This is kludgy and error prone. So, since I'm learning SSIS and converting the packages, I would like to make them better.
What is a good way to specify the connections in a dynamic way? That way, when the packages are moved from dev to prod, the prod database can just be specified in one place. In other words, what are some best practices that I should know about? I'm reading this forum, and checking out links I find therein, but I also do better with specific examples (because I am so new to this).
Thank you for any guidance you can provide.
-thursday's geek
View 2 Replies
View Related
May 9, 2007
I want to pass in a text file to execute process task.Is it possible???????
View 1 Replies
View Related
Mar 20, 2008
Hello all,
I have the need to connect to a network drive as a different user id when my SSIS package runs. If I stick the command into a batch script (forums don't play well with Opera, so sorry for code block not working)
@echo off
C:windowssystem32cmd /c net use \ServereeShare SecretPassword /usererverSecretUser
If I call that batch script from SSIS, at the conclusion of execution I'll have a share mapped. To ease deployment and maintenance, I want to refrain from using the batch script. So, I set my task as so
Executable: cmd.exe
Arguments: /C
WorkingDirectory: C:windowssystem32
StandardInputVariable: User::FileShareMappingParameters
StandardOutputVariable: User::FileShareMappingOutput
StandardErrorVariable: User::FileShareMappingError
and the rest are the default values. The value of User::FileShareMappingParameters is "net use \ServereeShare SecretPassword /usererverSecretUser"
My task does not fail nor do the output or errors variables get populated but I do not get my share. Anyone out there run into a similar situation or have a pointer on this one?
View 4 Replies
View Related
Sep 26, 2007
Hi,
We have an SSIS Execute Process Task which calls an executable along with the required parameters.
When we run this package, it intermittently gives the error as shown below in red
Executing "ppscmd.exe" "StagingDB /Server http://SERVERNAME:46787 /path OSB_FY08.Planning.dimensionECFuncArea /Operation LoadDataFromStaging" at "", The process exit code was "1" while the expected was "0". End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 5:05:08 PM Finished: 5:08:40 PM Elapsed: 212.203 seconds. The package execution failed. The step failed.
We are not able to debug this issue. We had a look at the logging information as well but we are not getting any information on this issue.
How can we resolve this issue ?
Any help on this would be highly appreciated.
Thanks & Regards
Joseph Samuel
View 6 Replies
View Related
Feb 14, 2008
Hi,
I am trying to exectue batch file which is located on other server. Can someone explain how to use execute process task?
I can see Executable ,Arguments, working directory, standard input v ariable, standard output variable, Fail task if return code is not success, success value when I open execute process task .
Also when I try to execute the batch file I am getting "Publisher could not be verified window and then its working after clicking the RUN button on the message. How can I avoid this in SSIS ?
For example I have the batch files located in some location \112.156.82.9\BATCHFILES\FILENAME
View 1 Replies
View Related
Oct 23, 2000
A batch file when being executed using the "execute process task"(DTS package) gives problems whereas the same batch file without any change when executed manually from the explorer runs fine.
The problem in debugging is that sometimes the same task runs fine and sometimes not....
The batch file contains code to extract a zip file(zipped using arj) to a paricular directory.
any ideas????
View 2 Replies
View Related
Jul 2, 2004
In the properties sheet for a DTS Execute Process Task, there is a input box for 'Parameters' which allow you to add command-line options to the task exe specified. How can you use the DTS Global variables to be passed in this parameter field? Is there a special format to indicate that the parameters are in fact global variable tokens?
View 1 Replies
View Related
Mar 12, 2008
hi,
i have designed DTS packages, I have a script component that picks up the 'Path' of a file stored.
The Path is a column in database and that obtained from OLEDB source.
now i need to zip the files in the path given above and than store it in some location. How do I do that?
View 3 Replies
View Related
Apr 22, 2006
We are attempting to use SSIS execute process task.
In a cmd.exe session the executable runs with normal arguments:
mycmd < myscript.txt > foo.txt 2>error.txt
We have attempted to several permutations of this without success. We declared variables and assigned them to stdin, stdout, stderr. However, mycmd opens in the SSIS session as if no arguments have been supplied.
Is there some expression that is required to connect the stdin/out/err variables in the Arguments within Execute Process Task. The help/examples are terse.
View 4 Replies
View Related
Mar 26, 2007
Hi,
I have what should be a very simple process.
I have a FOREACHLOOP container, that is set up to loop through files in a directory:
Enumerator: Foreach File Enumerator
Folder: c:myfolder
Files: *.txt
Retrieve: Name and extension
Variable mappings: User::file_name, Index 0
So far, so good...
Then, inside the FOREACHLOOP, I have an Execute Process Task, which is simply a .bat file that I am running, and passing the name of the file to:
For example: myBat.bat file_name
In the Execute Process Task, I have:
RequireFullFileName: false
Executable: c:myFilemyBat.bat
WorkingDirectory: c:myFile
StandardInputVariable: User::file_name
Everything else is set to the defaults.
However, when I execute my container, I get the following error:
Error: 0xC0029151 at Execute Process Task, Execute Process Task: In Executing "c:myFilemyBat.bat" " " at "c:myFile", The process exit code was "1", while the the expected was "0".
Is there anything I am obviously doing wrong here at the package level? When I run the .bat file from the command line, it works fine.
Thanks
View 4 Replies
View Related
Aug 22, 2006
Hi!
I need help with some C# code. I have build a SSIS package with an Execute Process Task. I need to send dynamic variables in to my C# program so I thought it was a good idea to use the StandardInputVariable.
How do I get the variable in my C# code?
Thanks
Carl
View 19 Replies
View Related
Mar 10, 2008
Hi
I am having trouble running a package in SQL Agent. The step involves zipping up a number of files using SQL Agent. I know in the error message it states "Access is denied" but I can run the package manually in BIS. Also I have applied a SQL proxy to the step using my own credentials which have rights to the file location, but still no luck.
I get the following error:
Error: 2008-03-10 09:04:02.04 Code: 0xC002F304 Source: Call ZipFiles Batch Execute Process Task Description: An error occurred with the following error message: "Access is denied". End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 09:04:00 Finished: 09:04:02 Elapsed: 1.219 seconds. The package execution failed. The step failed.,00:00:02,0,0,,,,0
Does anyone know what the problem could be?
Thanks
View 19 Replies
View Related
Jul 18, 2006
HI,
Is it possible to provide variables ( multiple variables ) in the arguments parameters of the Execute Process Task?
Thanks
Shafiq
View 5 Replies
View Related
Mar 5, 2008
On an Execute Process Task, are there properties I can examine to determine the outcome of a process? I know that I can use a Success/Failure constraint to direct my workflow appropriately, depending on the outcome, but I would prefer the workflow continue on to the same task regardless, and then be able to change the flow later on based on the outcome of the process.
I see there is an ExecValueVariable property, and this may be what I'm looking for, but I have no idea what this is and can not find any documentation on it. I tried using it, but kept getting a runtime error trying to set it to a variable.
I know that a process returns a numeric value, and it would be nice if I could store this somewhere.
Any suggestions?
Thanks in advance.
Jerad
View 3 Replies
View Related
Mar 11, 2008
Hi All,
Would you please clarify me how to use or setup Execute Process Task, i have seen the document from microsoft but i need more detail and if possible example how to setup. what does it mean by Executable, Arguments, Working Directory, StandardInputVariabl, StandardOutputVariable and some example respectively. And how do wee set them with example, especially taking taking zip/unzip executable file. Please i need help and make it clear example. I really appreciate for your time in advance.
View 8 Replies
View Related
Feb 15, 2007
Greetings!
I am using a Excute Process Task calling a selfwritten EXE and I'm trying to pass a command line argument to it. The code for the EXE is quit simple:
Public Sub Main()
Try
Dim info As String = My.Application.CommandLineArgs.Item(0)
MessageBox.Show("Info:" & info)
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
According to the help files there are two ways to pass an argument, using the property Arguments, which I guess is for hard-coded stuff, and the StandardInputVariable for passing dynamic info.
When I use the Arguments property everything works fine. I get the info messagebox with correct data. But when I leave that blank and instead use the StandardInputVariable property setting it to my package variable User::Info then I crash into an exception meaning that no arguments existed (array is out of bonds).
The variable User::Info was at first filled from a previous SSIS task and using the OnPreExecute breakpoint I verified that it contained a stringvalue. I then hardcoded a string value into the variable, but nothing helps. The task refuses to start my EXE with the data in the StandardInputVariable as an argument.
Why is this not working???
View 10 Replies
View Related
May 23, 2008
Hi,
For the Execute Process task (such as for running .bat files), what is the "Working Directory" for?? Should it be set to the directory that contains the .bat file, for example?
Can't find any documentation in BOL.
Thanks
View 4 Replies
View Related
Jun 26, 2006
We are attempting to use Microsoft SQL Server Integration Services Designer
Version 9.00.2047.00 to run a BCP command from a Process task. We are able to do so without a problem when running it interactively, but when run as a SQL Server Agent job the bcp process never completes and the job hangs indefinitely.
We also tried using a Script task for this, with the same result.
Has anyone else run into this problem?
Thanks,
Ron
View 7 Replies
View Related
Jul 27, 2004
Hello,
I have several DTS packages that take data from SQL Server and exports them onto an Access DB located on the network. Basically, one Execute Process Task from within my DTS package takes the Access DB and zips it while another such task copies the zipped DB and pastes it onto another location on the network. All this works fine.
This export process happens once a month so each month I have to manually add a datestamp to the end of the Access DB file that’s being exported to distinguish it from prior month's export. For example, this month's export file would have AccessDB_20040727.mdb name and the next month it would be AccessDB_20040820.mdb (date is determined based on the date the output is exported on). AccessDB.mdb is the default name of the export DB and datestamp is added at the end of the file name depending on what date the export was run. As I said, I can do this manually each month and it works fine.
I want to, however, know if there is a way to automatically supply the datestamp to the Execute Process Task's Parameters' text box? Following is what I have right now in the Parameters box:
\ghf1-ndc8-sqll$productionoutputlob200406LOB_CF_forDril ldown_All_20040727.zip \ghf1-ndc8-sqll$productionoutputlob200406LOB_CF_forDril ldown_All.mdb
I want to take above text from the parameters box and replace it with something like:
\ghf1-ndc8-sqll$productionoutputlob200406FileName_RunDa te.zip \ghf1-ndc8-sqll$productionoutputlob200406LOB_CF_forDril ldown_All.mdb
Where FileName_RunDate is a variable/placeholder for the name of the output with the datestamp the output is exported on.
There are three different Execute Process Tasks that are happening within each of my DTS packages so it's a time consuming job to have to manually add a datestamp to each package every month when data is exported.
Does anyone know if what I am asking is doable? If I can use a variable in the parameters box of each Execute Process Task’s properties and supply current datestamp values to it prior to executing the package each month? If so then what are the ways? How would I do that?
Thanks much.
JN
View 2 Replies
View Related
Mar 10, 2008
Hi
I am having trouble running a package in SQL Agent. The step involves zipping up a number of files using SQL Agent. I know in the error message it states "Access is denied" but I can run the package manually in BIS. Also I have applied a SQL proxy to the step using my own credentials which have rights to the file location, but still no luck.
I get the following error:
Error: 2008-03-10 09:04:02.04 Code: 0xC002F304 Source: Call ZipFiles Batch Execute Process Task Description: An error occurred with the following error message: "Access is denied". End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 09:04:00 Finished: 09:04:02 Elapsed: 1.219 seconds. The package execution failed. The step failed.,00:00:02,0,0,,,,0
Does anyone know what the problem could be?
Thanks
View 1 Replies
View Related
Oct 25, 2006
I'm just starting to find my way around SSIS, coming from SQL 2000 DTS, but I can't see a way of including a Win32 Console application's output into the logging process.
I've started playing around with SSIS Logs (OnTaskFailed etc..), but I can find no where to allow me to capture the output from a console app. In SQL 2000 DTS I could capture this by specifying an "output file" on the advanced tab of the job step definition. Is there something as straight forward as this in SSIS ?
I'd be grateful for a few pointers in the right direction.
View 4 Replies
View Related
Jun 4, 2007
Hi,
I am trying to run a very simple copy command from an execute process task:
copy O:myFoldermyFile*.txt D:myFolder
I have a working directory set also.
However, there is an error icon on the task, and if I attempt to run it I get the following error:
Error at Execute Process Task [Execute Process Task]: File/Process "" does not exist in directory "copy O:myFoldermyFile*.txt D:myFolder".
Error at Execute Process Task: There were errors during task validation.
This command works fine from the command line. What am I doing wrong here?
Thanks
View 12 Replies
View Related
Mar 26, 2008
I have a command to decrypt a file that I can run from the command line and it works beautifully. However, when I stuff it into an execute process task, it errors out every time or does nothing.
Here is the command I can run from the command line:
gpg -d --passphrase-fd 0 < c:Dip_Fif.WUZ -o c:Someoutputfile.in1 -r "KeyName" c:Someinputfile.in1.pgp
I've pointed the execute process task object to the gpg.exe executable on my system and am stuffing the remainder in the arguments line. I have also tried changing around all the timeout settings and sucess values. I have found I can change the success value to 2 and it will show up as being green when complete, but the file doesn't decrypt. It just in turn will throw an error on the next piece because the required file is not there.
I will probably end up writing a script to get this to work and use a script task but I really want to know why this will not work.
--Thanks--
View 12 Replies
View Related
Sep 3, 2006
Hi
I want the following command processed by the "Execute Process Task":
c:
elog.exe c:perflogslog.csv -f SQL -o "SQL:PerfCounters!PerfCounters"
relog syntax: relog [path to file] [-f: to SQL format] [-o to output SQL:Databasename!DSN"]
The name of the file I want to be processed by the windows relog utility is a variable which is created by another preceding task: User::Variable
In the "Execute Process Task" there are three parameters I have to use:
Executable: which I think needs to be relog.exe
Arguments: C:PerflogsUser::Variable -f SQL -o "SQL:PerfCounters!PerfCounters"
WorkingDirectory: C:WindowsSystem32
As you can see in the Arguments, it's not going to work but I can't figure out the syntax.
Has anyone got some experiance with passing arguments to a execute process task based on variables?
Many thanks!
Worf
View 5 Replies
View Related
Dec 8, 2005
Hi, I need to send a table data into flat and then ftp into different location.
I was using xp_cmdshell via sql task but my network engineer is saying that this xp_cmdshell will break the security and recomond to use "Execute Process Task". If i'm using this task getting the below error.
Could you advice me regrding network engineer thought and any solution for avoiding this error.
---------------------------
Execute Process Task: C:WINDOWSsystem32ftp.exe
---------------------------
CreateProcessTask 'DTSTask_DTSCreateProcessTask_1': Process returned code 2, which does not match the specified SuccessReturnCode of 0.
---------------------------
Thanks,
View 1 Replies
View Related