【发布时间】:2021-06-03 19:16:16
【问题描述】:
我有一个通过各种 PRINT 语句产生输出的存储过程。我想在 Java 中获取该输出,但我不知道该怎么做。这能做到吗?
【问题讨论】:
标签: java sql-server
我有一个通过各种 PRINT 语句产生输出的存储过程。我想在 Java 中获取该输出,但我不知道该怎么做。这能做到吗?
【问题讨论】:
标签: java sql-server
打印语句的输出可通过 SQLWarnings 获得,例如:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.Statement;
public class SQLDatabaseConnection {
public static void main(String[] args) {
String connectionUrl =
"jdbc:sqlserver://YourServerName:1433;"
+ "database=SomeDB;"
+ "user=SomeUsername;"
+ "password=S0meM4gic4lP4ssw0rd;"
+ "encrypt=true;"
+ "trustServerCertificate=true;"
+ "loginTimeout=30;";
ResultSet resultSet = null;
try (Connection connection = DriverManager.getConnection(connectionUrl);
Statement statement = connection.createStatement();) {
resultSet = statement.executeQuery("print 'Hello, world!'; select getdate() as [Something]");
while (resultSet.next()) {
System.out.format("Result set: %s\n", resultSet.getString(1));
}
SQLWarning warning = statement.getWarnings();
while (warning != null)
{
System.out.format("Warning: %s\n", warning.getMessage());
warning = warning.getNextWarning();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
哪些输出...
Result set: 2021-06-04 00:38:27.567
Warning: Hello, world!
【讨论】: