将 SQL Server 打印到 CSV 的 JAVA 代码返回数据不完整

我有一个 JAVA 代码可以将 SQL Server 表输出到 CSV。打印在中间停止,我只得到部分数据作为 CSV 输出。在我的代码下面。


public class SQLServerConnection {


    public static void main(String[] args) throws IOException, SQLException {

        // TODO Auto-generated method stub


        Connection conn = null;

        SQLConnection cnn = new SQLConnection();

        FileWriter fw = new FileWriter(cnn.fileName);


        try {conn = DriverManager.getConnection(cnn.dbURL);


        if (conn != null) {

            DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();

        }

        } catch (SQLException ex) {

            ex.printStackTrace();

        } 


        String sql = String.format(cnn.Query);

        assert conn != null;


        PreparedStatement preStatement;

        preStatement = conn.prepareStatement(sql);

        ResultSet result = preStatement.executeQuery();

        ResultSetMetaData rmsd = result.getMetaData();

        int Columncount = rmsd.getColumnCount();


      //Get the column name and print the column name

        for (int iterator=1; iterator<= Columncount; iterator++) {

            fw.append(rmsd.getColumnName(iterator)+",");

        }

        fw.append('\n'); 


        while(result.next()){

            try {

                for (int jterator=1; jterator<=Columncount; jterator++){

                    fw.append(result.getString(jterator));

                    fw.append(',');

                }

                fw.append('\n');

             } catch (SQLException e)

            {

                e.printStackTrace();

            }}

        conn.close();

    }}

DB 和 Excel 参数的类


public class SQLConnection {

    public String ServerName = "Server1";

    public String DBName = "DB1";

    public String FileLoc = "Location of the file";

    public String dbURL = "jdbc:sqlserver://"+ServerName+";databaseName="+DBName+";integratedSecurity=true";

    public String Query = "SELECT * from [scdHSBCHK]";

    public String fileName = (FileLoc + DBName +"_QueryResult.csv"); 

}

实际的 db 返回 57 条记录,但 csv 仅返回 29 条。我尝试使用不同的 db 名称以及相同的问题。当我在程序窗口中输出结果时,数据显示正确。


ITMISS
浏览 222回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java