【发布时间】:2015-01-12 17:40:25
【问题描述】:
在我的独立 Windows 应用程序中,我有一个连接字符串:
Private Const _sqlDB As String = "Data Source=(localdb)\v11.0;Initial Catalog=localACETest;Integrated Security=True;AttachDbFileName=C:\ACE DB\localACETest.mdf"
我正在向其中添加连接超时(没关系,这是一个荒谬的长超时):
";Connect Timeout=1000"
谁能解释为什么我现在的程序超时而不是在添加连接超时之前?
以下是我创建连接的方式:
_conn = New SqlConnection(_sqlDB)
_conn.Open()
Dim _dr As SqlDataReader
Dim _cmd As New SqlCommand("Random Stored Procedure", _conn)
_cmd.Parameters.Add("@BusGrp", System.Data.SqlDbType.NVarChar).Value = bg
_cmd.CommandType = System.Data.CommandType.StoredProcedure
当我删除连接超时并添加命令超时时,这似乎不会发生,但是:
_cmd.CommandTimeout = 1000
虽然我知道命令和连接超时是两个不同的东西,但添加 连接 超时来扩展默认值会导致这个问题对我来说没有意义。
【问题讨论】:
-
你的属性不正确,应该是
Connection Timeout- msdn.microsoft.com/en-us/library/… -
为避免此类问题,我始终建议使用 SqlConnectionStringBuilder,它不会让您构建无效的连接字符串。
-
我以此为参考:connectionstrings.com/all-sql-server-connection-string-keywords 感谢你们的帮助。
-
所有的下划线、缩写和显式的类名链接是怎么回事?这是您的第一个应用程序吗?
-
我加入了一个有这个系统的团队......我也不知道什么是类名链接。
标签: sql vb.net connection-timeout