我一直在使用MySQL数据库和JDBC连接。在这种情况下,我可以使用System.out.println(ps);
轻松打印准备好的语句。
但对于SQL Server数据库,它只打印'SQLServerPreparedStatement'而不是在将参数替换为SQL命令后将发送到服务器的实际查询。如何使用SQL Server JDBC实现这一目标?我不希望通过手动编码实现这一点,例如将所有参数传递给函数,然后在内部构建查询。我想在查询执行后立即打印出有效参数< / p>
答案 0 :(得分:1)
你做不到。来自https://docs.microsoft.com/en-us/sql/connect/jdbc/reference/sqlserverpreparedstatement-class:
“SQLServerPreparedStatement使用SQL Server sp_prepare存储过程准备语句”
因此,最终的SQL实际上并不是由JDBC驱动程序保存的。