Java 如何测试SQL Server连接属性
我有一个与SQLServer数据库交互的Java应用程序。我想写一些单元测试来测试连接,比如lockTimeout、queryTimeout、loginTimeout和socketTimeout等Java 如何测试SQL Server连接属性,java,sql,sql-server,jdbc,sqljdbc,Java,Sql,Sql Server,Jdbc,Sqljdbc,我有一个与SQLServer数据库交互的Java应用程序。我想写一些单元测试来测试连接,比如lockTimeout、queryTimeout、loginTimeout和socketTimeout等 测试上述场景的最佳方法是什么?一种方法是为每种情况编写代码,准备情况并运行这段代码。这将是一种手动测试更多。是否有其他方法/库来测试SQL Server属性?您可以在SQL Server上运行查询以确定配置: --Determine Lock Timeout: SELECT @@LOCK_TIMEOU
测试上述场景的最佳方法是什么?一种方法是为每种情况编写代码,准备情况并运行这段代码。这将是一种手动测试更多。是否有其他方法/库来测试SQL Server属性?您可以在SQL Server上运行查询以确定配置:
--Determine Lock Timeout:
SELECT @@LOCK_TIMEOUT AS LockTimeout
--Determine Remote Query Timeout:
EXEC sp_configure 'remote query timeout'
--Determine Remote Login Timeout:
EXEC sp_configure 'remote login timeout'
连接/套接字超时是在连接字符串中设置的,因此您应该已经知道了。您根本不应该测试它们,除非您是编写数据库驱动程序的人。这看起来更像是集成测试,而不是单元测试。如果您的目标是测试处理这些异常的代码,考虑嘲笑数据库,那么这些查询不适用于应用程序API设置;他们只返回服务器上用于链接服务器查询的配置值。这就是他要求的,配置的服务器值。。。没有SQL Server的API,除非你认为ADODB是API的一种类型吗?我的意思是,我猜是这样。OP是在谈论微软SQL Server JDBC驱动程序。是的,ADODB是一个API,但与JDBC问题无关。问题中的所有设置都与JDBC客户机驱动程序相关。答案中的设置与服务器上的OLE DB设置相关,而不是与客户端相关,并且对JDBC没有影响。那么您是说远程查询超时设置和锁定超时设置对通过JDBC运行的远程查询没有影响?有趣。