0

以下のプログラムを使ってデータベースに接続し、そこからデータを引き出してみました。後でCSVとして保存できます。プログラムを実行すると、しばらくするとプロセスjavaw.exeが自動的に終了しました。これを克服し、最後まで実行する方法を教えてください。以下のスニペットを見つけてください

import java.io.BufferedOutputStream;
import java.sql.CallableStatement;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.sql.*;
import java.util.ArrayList;



public class myLogin{
  public static void main(String args[]) {
    String url = "";

 String queryString;
 String temp;
    try {
        Class.forName("com.sybase.jdbcx.SybDriver");
        System.out.println("got it");
    }
    catch( Exception e ) {
      System.out.println("Failed to load sybase driver.");
      return;
    }
    try {
        Connection con = DriverManager.getConnection(url, "", "");

        Statement select = con.createStatement();
        queryString=" ";
        select.executeQuery(queryString);
        ResultSet myResultSet = select.executeQuery(queryString);
        System.out.println("Got results:");
        String m="details.csv";
        FileOutputStream fos=new FileOutputStream(m,false);

        Writer out = new OutputStreamWriter(new BufferedOutputStream(fos));

        while(myResultSet.next()) {
            int ncols = myResultSet.getMetaData().getColumnCount();

            for (int i=1; i<(ncols+1); i++) {
                System.out.print(myResultSet.getMetaData().getColumnName (i));
                if (i<ncols) System.out.print(","); else System.out.println();
            }

            do {
                for (int i=1; i<(ncols+1); i++) {
                    out.append(myResultSet.getString(i));
                    System.out.print(myResultSet.getString(i));
                    if (i<ncols) System.out.print(","); else System.out.println();
                }
            } while (myResultSet.next());
        }
        select.close();
        con.close();
    }
    catch( Exception e ) {
        e.printStackTrace();
    }
  }
}
4

1 に答える 1

0

javaw.exeの「Windows」バージョンですjava.exe。基本的に、これはコンソールを必要としない、またはコンソールに出力しないプロセスを作成します。

コンソールから実行javaw.exeすると、何も起こらなかったかのように表示されます(コマンドはほぼすぐに戻ります)

代わりに、実行java.exeしてコンソールでプログラムを実行してみてください。

于 2012-08-07T05:03:18.133 に答える