Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何测试SQL Server连接属性_Java_Sql_Sql Server_Jdbc_Sqljdbc - Fatal编程技术网

Java 如何测试SQL Server连接属性

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

我有一个与SQLServer数据库交互的Java应用程序。我想写一些单元测试来测试连接,比如lockTimeout、queryTimeout、loginTimeout和socketTimeout等


测试上述场景的最佳方法是什么?一种方法是为每种情况编写代码,准备情况并运行这段代码。这将是一种手动测试更多。是否有其他方法/库来测试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运行的远程查询没有影响?有趣。