【问题标题】:Connection to SQL database failed because of an error in initializing provider由于初始化提供程序时出错,连接到 SQL 数据库失败
【发布时间】:2018-03-25 15:53:42
【问题描述】:

我正在尝试连接到仅允许 TLS 1.2 协议的内部 SQL 数据库。

我能够使用 SQL Server Management Studio 登录到数据库。

我想使用 Excel 2013 连接到同一个数据库(以获得更多图形报告)。我在 Excel 上阅读了很多关于 TLS1.2 和使用 ODBC 驱动程序的问题,因为它是唯一支持 tls 1.2 的。

遗憾的是,在输入凭据并测试连接时,我们收到以下错误:

由于错误初始化提供程序,测试连接失败。未指定的错误

有人有使用 Excel 使用 TLS1.2 连接到 SQL Server 的经验吗?难道我做错了什么?我正在使用数据链接:Microsoft OLE DB Provider for ODBC 驱动程序。正常的 SQL 添加内容的方式也不起作用,但我相信那是因为那里不支持 TLS1.2。

【问题讨论】:

    标签: sql sql-server database excel tls1.2


    【解决方案1】:

    如果我没记错的话,Management Studio 将默认连接端口 1433 并使用 TDS 协议,实际上与 TLS 无关。所以它在 SSMS 中起作用也就不足为奇了。

    来自https://blogs.msdn.microsoft.com/sql_pfe_blog/2017/09/27/microsoft-excel-tls-sql-server-important-considerations/

    对于所有新工作簿,不要使用该菜单选项。而是使用 “从数据连接向导”并从 列表。一个要求是您拥有 SQL Native Client(2008 或 2012) 或带有适当补丁的 ODBC 驱动程序,每个 TLS 1.2 支持 下面是 Microsoft SQL Server。

    因此,除非您计算机上的 ODBC 已被修补以处理 TLS 1.2,否则似乎仅使用 ODBC 将不起作用。

    我相信您需要的 ODBC 更新如下。

    https://www.microsoft.com/en-us/download/details.aspx?id=36434&751be11f-ede8-5a0c-058c-2ee190a24fa6=True

    【讨论】:

    • 您好 Thomas,感谢您提供的信息。我已经更新了我们的 ODBC 驱动程序,并且我们现在将 Microsoft OLE DB Provider for Analysis Services 11.0 添加到了我们的数据连接向导中(我们拥有的所有其他选项都返回错误)。这将返回超时错误:由于初始化提供程序时出错,测试连接失败。连接尝试失败,因为连接方没有正确响应....我已经测试过 ping 到数据库所在的内部服务器并且成功,所以我确信服务器可以与我们的数据库服务器通信。跨度>
    • 快速更新,我也安装了support.microsoft.com/en-us/help/3135244/… sql natice 客户端 2012,我相信它是两者的混合体(因为仅 2012 年对我们来说并没有成功)谢谢你的帮助!
    • 您不需要分析服务驱动程序。即查询 SQL Server 分析多维数据集 (SSAS)。可以在 ODBC 中使用标准 SQL Server 选项吗?
    • 您好 Thomas,我们目前使用的 SQL Server Native Client 11.0 目前似乎可以工作。我们已经安装了 odbc 更新以及 2012 客户端 sql 驱动程序以便看到这个。
    • @Thomas,实际上TDS uses TLS/SSL 用于加密登录(启用时)和加密连接(启用时)。因此,使用 SSMS 连接到 SQL Server 可能涉及 TLS/SSL。
    猜你喜欢
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2018-04-25
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多