【问题标题】:How to test SQL Server connection properties如何测试 SQL Server 连接属性
【发布时间】:2023-04-02 18:33:02
【问题描述】:

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

测试上述场景的最佳方法是什么?一种方法是为每种情况编写代码,准备情况并运行那段代码。这将是一种更多的手动测试。有没有其他方法/库来测试 SQL Server 属性?

【问题讨论】:

  • 你根本不应该测试它们,除非你是编写数据库驱动程序的人。
  • 这看起来更像是集成测试而不是单元测试。如果您的目标是测试处理这些异常的代码,请考虑模拟数据库,

标签: java sql sql-server jdbc sqljdbc


【解决方案1】:

您可以在 SQL 服务器上运行查询以确定配置:

--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 正在讨论 Microsoft SQL Server JDBC 驱动程序。
  • 是的,ADODB 是一个 API,但与这个 JDBC 问题无关。问题中的所有设置都与 JDBC 客户端驱动程序有关。您答案中的设置与服务器上的 OLE DB 设置有关,而不是客户端,对 JDBC 没有影响。
  • 所以您是说远程查询超时设置和lock_timeout 设置对通过JDBC 运行的远程查询没有影响?有趣。
猜你喜欢
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多