建立数据连接的Java程序自行终止

时间:2012-08-07 05:00:18

标签: java jdbc sybase

我尝试了以下程序来连接数据库并从中提取数据。我以后可以存储为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();
    }
  }
}

1 个答案:

答案 0 :(得分:0)

javaw.exejava.exe的“Windows”版本。基本上,这会创建一个不需要或输出到控制台的过程。

如果从控制台运行javaw.exe,它将显示为没有发生任何事情(该命令几乎立即返回)

请尝试运行java.exe以在控制台中运行程序。