C# and Batch files

hi

can any one suggest me , how can i use parallel programming , to execute a batch file, as the batch file is taking a lot of time to run , and i want to reduce that

1. a batch file  programme loads a file into database .
2. this takes 4 hours right now , which is too much .
3. I want to use parellel programming to , reduce the total time taken by this.
4. can you please help me to suggest that .
5. i am open for other way of doing this. which reduces the time taken to 20 -30 mins at least .



6. i can not use SSIS to load the file as the batch file is written by different vendor , and is not possible to change.
BeyondBGCMAsked:
Who is Participating?
 
Guy Hengel [angelIII / a3]Connect With a Mentor Billing EngineerCommented:
if the batch file is written by a vendor, you cannot do a lot ...
unless the batch file has options to call with several parameters, so they could be called "in parallel"...
0
 
QlemoConnect With a Mentor Batchelor, Developer and EE Topic AdvisorCommented:
Very difficult to provide sound advice here. You are basically telling us "I want to change the batch file, but I cannot change it". As Guy told, if the vendor does not allow for splitting up the tasks or data into several junks and control that from outside, there is no way to do that.
Depending on what the batch does, it might be impossible to reduce the time needed - if there is nothing you can execute in parallel, you can't, e.g. because there are many steps and they all are build on each other, so need to run strictly in sequence.
0
 
BeyondBGCMAuthor Commented:
that's true , that  i can not change the batch file , but as you know calling batch file in c# using System.Diagnostic.Process , can i use Parallel programming to call the batch file


this is like , right now i am calling Batch file with Process class of Systm.Diagnostic, but it is taking a lot of time to run (4 hours)

now , can i use parallel programming , or other mode , to distribute the load of the execution to multiple processor.
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
No, you can't. Taking four cars to dtive a certain distance will take the same time as with one car, unless you are able to let them drive into different directions.
0
 
BeyondBGCMAuthor Commented:
that's fine , thanks :)
0
 
BeyondBGCMAuthor Commented:
I've requested that this question be closed as follows:

Accepted answer: 0 points for BeyondBGCM's comment #a40022304

for the following reason:

i accept , that there is no solution to this question.
0
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
0
 
BeyondBGCMAuthor Commented:
i don't want to go in details of this , as if you can read the book Parallel programming with C# ,by Wrox, they clearly say  , it is possible , but if you say it is not possible , i accept it , i have no time , to get in to the discussion for this. you can close it which ever you want
0
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
Your misconception is that you have the means to start parallel processing in C# (or C++ or ...), but no influence on the internals of external utilities you start in parallel. You always need to adapt the job to only do a part of the overall task if you want to split execution.
0
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
Closing recommendation: Split
  http:#a39977429
  http:#a39977443
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.