Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.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 在进行jdbc连接时,设置套接字超时似乎无效_Java_Sql Server_Jdbc_Sqljdbc - Fatal编程技术网

Java 在进行jdbc连接时,设置套接字超时似乎无效

Java 在进行jdbc连接时,设置套接字超时似乎无效,java,sql-server,jdbc,sqljdbc,Java,Sql Server,Jdbc,Sqljdbc,在使用jdbc从数据库建立连接时,我需要设置socketTimeout属性。我正在使用sqljdbc4连接SQLServer2008R2。这是我的密码 java.util.Properties info = new java.util.Properties(); info.setProperty("user", informationStoreDefinition.getProperties().get(USER)); info.setProperty("password", informati

在使用jdbc从数据库建立连接时,我需要设置
socketTimeout
属性。我正在使用
sqljdbc4
连接SQLServer2008R2。这是我的密码

java.util.Properties info = new java.util.Properties();
info.setProperty("user", informationStoreDefinition.getProperties().get(USER));
info.setProperty("password", informationStoreDefinition.getProperties().get(PASSWORD));
info.setProperty("socketTimeout", "10");
info.setProperty("loginTimeout", "10");
testConnection = DriverManager.getConnection(informationStoreDefinition.getProperties().get(DB_URL), info);

我发现套接字超时在我的情况下无效。我已经设置为10秒,但30秒后超时。我会将时间设置为30秒,但这需要先在10秒时工作

套接字超时仅适用于连接后的读取,不适用于连接本身。您需要找到一个连接超时设置(我不确定它是否存在于SQL Server中)。@markrotVeel是的,它有一个
connectTimeout
设置,我也尝试过。它引发了一个异常-com.microsoft.sqlserver.jdbc.SQLServerException:
到主机xxx.xxx.x.xxx、端口1433的TCP/IP连接失败。错误:“连接超时。请验证连接属性。确保SQL Server实例正在主机上运行并在端口接受TCP/IP连接。确保到端口的TCP连接未被防火墙阻止。
即使我将其设置为5秒,也需要30秒。该站点列出”ADO.NET SqlConnection对象的连接字符串属性”,换句话说,它是用于C#,而不是用于SQL Server JDBC驱动程序。套接字超时仅适用于连接后的读取,不适用于连接本身。您需要找到连接超时设置(我不确定SQL Server是否存在)@markrotVeel是的,它有一个
connectTimeout
设置,我也尝试了。它引发了一个异常-com.microsoft.sqlserver.jdbc.SQLServerException:
到主机xxx.xxx.x.xxx的TCP/IP连接,端口1433失败。错误:“连接超时。验证连接属性。确保SQL Server实例正在主机上运行,并在端口接受TCP/IP连接。确保到端口的TCP连接没有被防火墙阻止。
即使我将其设置为5秒也需要30秒。该站点列出了“ADO.NET SqlConnection对象的连接字符串属性”,换句话说,它是针对C#,而不是针对SQL Server JDBC驱动程序。