4

我发现使用 JDBC 或 Spring 将我的 Web 应用程序连接到 SQLServer 数据库(不是 Express)时出现问题。

在我的代码的某个时刻,我调用:

this.conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);

并且应用程序运行正常,但是它正在等待并且不会继续。另一个 Web 应用程序也会发生同样的情况:

getJdbcTemplate().query(...)

如果我使用以下命令查看数据库:

SELECT SPID, STATUS, PROGRAM_NAME, LOGINAME=RTRIM(LOGINAME), HOSTNAME, CMD
FROM MASTER.DBO.SYSPROCESSES
WHERE DB_NAME(DBID) = 'myDB' AND DBID != 0 

我可以看到有一个连接打开但“等待命令”。没有处理异常,它只是在等待一些东西。

该连接的 SQL Server Profiler(审核登录)返回:

-- network protocol: TCP/IP
set quoted_identifier on
set arithabort off
set numeric_roundabort off
set ansi_warnings on
set ansi_padding on
set ansi_nulls on
set concat_null_yields_null on
set cursor_close_on_commit off
set implicit_transactions off
set language us_english
set dateformat mdy
set datefirst 7
set transaction isolation level read committed

它工作到几周前。我认为它应该与 SQLServer 配置有关,但我很确定我没有改变任何东西。我们可以排除防火墙问题,因为连接已正确创建。任何人都可以帮助我,好吗?

谢谢,安德烈亚

4

1 回答 1

0

正如Mark Rotteveel所建议的,这是一个 Java 1.6.0_29 错误。

于 2012-02-11T09:30:20.687 回答