Files
workspace/code/fms/.tmp-probe/Probe4.java
T
2026-09-16 23:15:06 +08:00

52 lines
2.5 KiB
Java

import java.sql.*;
/** 一次性探针:复现 COUNT_BIG 报错。用完即删。 */
public class Probe4 {
public static void main(String[] args) throws Exception {
String url = "jdbc:sqlserver://118.89.70.199:1433;databaseName=FMS;encrypt=true;trustServerCertificate=true";
try (Connection conn = DriverManager.getConnection(url, "sa", "zhang520..")) {
try (Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT COUNT_BIG(1) FROM [b_con_type]")) {
rs.next();
System.out.println("Statement 无别名: " + rs.getLong(1));
} catch (SQLException e) {
System.out.println("Statement 无别名 失败: " + e.getMessage());
}
try (Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT COUNT_BIG(1) AS total FROM [b_con_type]")) {
rs.next();
System.out.println("Statement 有别名: " + rs.getLong(1) + " / getLong(\"total\")=" + rs.getLong("total"));
} catch (SQLException e) {
System.out.println("Statement 有别名 失败: " + e.getMessage());
}
try (PreparedStatement ps = conn.prepareStatement("SELECT COUNT_BIG(1) FROM [b_con_type]");
ResultSet rs = ps.executeQuery()) {
rs.next();
System.out.println("PreparedStatement 无别名 getLong(1): " + rs.getLong(1));
} catch (SQLException e) {
System.out.println("PreparedStatement 无别名 失败: " + e.getMessage());
}
try (PreparedStatement ps = conn.prepareStatement("SELECT COUNT_BIG(1) AS total FROM [b_con_type]");
ResultSet rs = ps.executeQuery()) {
rs.next();
System.out.println("PreparedStatement 有别名 getLong(1): " + rs.getLong(1));
} catch (SQLException e) {
System.out.println("PreparedStatement 有别名 失败: " + e.getMessage());
}
System.out.println("列类型: " + columnType(conn, "SELECT COUNT_BIG(1) FROM [b_con_type]"));
}
}
private static String columnType(Connection conn, String sql) throws SQLException {
try (PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuery()) {
ResultSetMetaData md = rs.getMetaData();
return md.getColumnLabel(1) + " / " + md.getColumnTypeName(1) + " / type=" + md.getColumnType(1);
}
}
}