Solved

Call a local BATCH Job or Run MS ISQL

Posted on 1998-07-27
6
482 Views
Last Modified: 2008-02-26
I would like java to 'call' or 'run' a command on the same server as java is running.  The command must run an ISQL script to work on a local SQL Server and/or batch file.  How can I do it?
0
Comment
Question by:snydero
[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
  • 3
  • 3
6 Comments
 
LVL 1

Accepted Solution

by:
dryang earned 100 total points
ID: 1228389
Thread it! spawn a thread to run the script using the exec command. but watch out for synchronization mistakes. any comments please post again
0
 
LVL 1

Author Comment

by:snydero
ID: 1228390
I was hoping for an example of a line of code.
0
 
LVL 1

Expert Comment

by:dryang
ID: 1228391
here goes.....

1) create a thread, either by extending class 'Thread' or implementing 'Runnable' in your self created class. If you want to extend 'Thread' make sure you have 'public void run()' as part of your code. The JVM will run this method automatically after the class has been called

eg.
public class myclass extends Thread
{
    myclass()    //constructor
    {}

    public void run()  //you MUST have this method (overrides run method of Thread)
    {  //does something useful
     }
}

In your calling program...

myclass mc = new myclass();
mc.run();

and the thread runs. Its the same for implementing 'Runnable'

Check the JDK documentation for specific details and synchronization issues. (check out the key word 'synchronised')


2) After you have created your code for threading, use the 'exec' command to exececute any batch jobs or scripts.(under java.lang.Runtime)

eg.
Runtime.exec("autoexec.bat");

There are various forms of exec and I reccommend that you dig around the documentation for details. Its not easy to decide which form is the best and you should take some time to look over your design specs.


note: In UNIX we use a similar method called 'fork and exec' where a seperate process is created (forked) and a command run (exec). This is where JAVA takes the idea from.

post any futhur questions ok?
0
Transaction Monitoring Vs. Real User Monitoring

Synthetic Transaction Monitoring Vs. Real User Monitoring: When To Use Each Approach? In this article, we will discuss two major monitoring approaches: Synthetic Transaction and Real User Monitoring.

 
LVL 1

Author Comment

by:snydero
ID: 1228392
Here is my code...
class HelloWorld
{      public static void main(String args[])
      {      System.out.println("Hello World!");
            rclass rc = new rclass();
            Runtime.exec("jtest.bat");
      }
}

class rclass extends Thread
{      rclass()
      {}
      public void run()
      {      System.out.println("In run now");
      }
}

The error I get is...
helloWorld.java:5: Can't make static reference to method java.lang.Process exec(java.lang.String) in class java.lang.Runtime.
            Runtime.exec("jtest.bat");
                        ^
1 error

0
 
LVL 1

Expert Comment

by:dryang
ID: 1228393
hi Syndero

Oops, Syntax error on my part.

should instantiate the Runtime object first...

Runtime rt = new Runtime();
rt.exec("jtest.bat");
0
 
LVL 1

Author Comment

by:snydero
ID: 1228394
I've tried every way to get your code example to work.  It DOESN'T!
Can you provide a complete listing please.
Again, I wish to run a batch file (jtest.bat) from a java program.
Thanks
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

705 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