首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在登录前握手时发生错误。

在登录前握手时发生错误。
EN

Stack Overflow用户
提问于 2017-04-24 20:37:51
回答 4查看 20.1K关注 0票数 12

请阅读全文,然后将其标记为副本.

在我正在调试的项目中,我收到一个SqlException,上面写着:

附加信息:成功地与服务器建立了连接,但在登录前握手时发生了错误。(提供者: SSL提供程序,错误:0-等待操作超时。)

这是在调试会话期间发生的,在调试会话中,前一个会话仅在几秒钟前执行,没有问题。由于初始异常,我无法连接到此项目中的数据库服务器。在SqlConnection.Open()方法调用.上抛出异常

背景

这不是我第一次收到这封信。在此之前,我与它进行了两周的斗争,最终启动了微软的支持票。在该实例中,它发现连接字符串上的ApplicationName属性太长(我们使用的是完全限定的程序集名称),缩短它可以缓解问题。

这一次,有

  • 没有提供ApplicationName值
  • WinSocks处于默认状态。
  • 防病毒(ESET)被禁用,而不是问题所在。
  • 在正在工作的调试会话和不工作的调试会话之间没有任何安装。

最后,出于一时兴起,我创建了一个新项目,其唯一目的是连接到同一台SQL服务器。我将连接字符串从不工作的项目复制到新项目中,并将其连接起来。每一个项目的连接缓存都在进行吗?在Clean>Rebuild和Visual和Windows的重新启动中幸存下来的东西吗?

相关守则

代码语言:javascript
运行
复制
    public SqlConnection OpenSqlConnection(string connectionString)
    {
        var conn = new SqlConnection(connectionString);
        conn.Open();
        _connectionString = connectionString;
        var sb = new SqlConnectionStringBuilder(_connectionString);
        _server = sb.DataSource;
        _database = sb.InitialCatalog;
        return conn;
    }

正在传入的连接字符串是从应用程序中其他地方的SqlConnectionStringBuilder输出的。连接字符串类似于:"Data Source=SERVER;Initial Catalog=DATABASE;Integrated Security=True;Connect Timeout=60"

EN

Stack Overflow用户

发布于 2018-06-11 20:26:54

对我来说,诀窍是增加连接字符串上的超时,因为通过vpn连接需要很长时间才能建立连接。您可以通过添加;连接超时=值来实现这一点。

当我在vpn上连接一个试图连接到sql服务器的应用程序时,我也遇到了同样的错误。

默认情况下,超时设置为15秒。

看来你已经有60秒了,也许你只是需要更多.

希望能帮上忙!

票数 3
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43597294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档