gpt4 book ai didi

sql-server - 使用驱动程序 {SQL SERVER} 与 Native Client 有什么区别

转载 作者:行者123 更新时间:2023-12-05 03:09:43 25 4
gpt4 key购买 nike

这个问题更多的是关于“为什么”。当您在连接字符串中指定 DRIVER={SQL Server Native Client 11.0} 时,varchar(max) 列返回空白。这个问题似乎多年来一直存在,并且存在一些解决方法。

https://connect.microsoft.com/SQLServer/feedback/details/419996/sql-native-client-returning-blank-fields-to-excel

https://connect.microsoft.com/SQLServer/feedback/details/467300/problem-with-varchar-max-via-sql-native-client

虽然这些问题仍然存在似乎很疯狂,但建议的有效解决方法是:

https://stackoverflow.com/a/33883901/4258124

就是改连接字符串使用:

DRIVER={SQL Server}...(rest of connection string)

代替:

DRIVER={SQL Server Native Client 11.0} ...(rest of connection string)

我已经尝试过了,而且有效,但我的问题更多是关于“为什么”。如果 DRIVER={SQL SERVER} 是较旧的驱动程序,当我通过 MultiSubnetFailover=Yes/True 等较新的功能时,它如何能够连接?

在 Windows 上的 VBA 或 Python 中,传递 {SQL Server} 会选择以上两个中较新的一个吗?在 {SQL Server Native Client 11.0} 上使用 {SQL Server} 是否会丢失任何功能?如果是,它们会是什么?有更好的解决方法吗?

最佳答案

In VBA or Python on Windows, does passing {SQL Server} pick the newer of the above two ?

没有。 {SQL Server} 只是 Windows 附带的(非常古老的)SQL Server 驱动程序的名称。它仍然在很多地方使用,但它不支持 SQL Server 的新功能,并且可能已经被弃用很长时间了。

事实上,{SQL Server Native Client ...} 驱动程序系列 has 也已弃用,取而代之的是 {ODBC Driver __ for SQL Server} 驱动程序(其中 __ 当前为 17、13 或 11)。然而,正如微软惯常做的那样,它有 changed its mind并“取消推荐”OLE DB 访问方法(以前称为“SQLNCLI11”,现在称为“MSOLEDBSQL”)。

关于sql-server - 使用驱动程序 {SQL SERVER} 与 Native Client 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41962543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com