?
Solved

Call a local BATCH Job or Run MS ISQL

Posted on 1998-07-27
6
Medium Priority
?
483 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
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 
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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses
Course of the Month13 days, 19 hours left to enroll

800 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