使用适用于SQL Server的新ODBC驱动程序连接到LocalDB

mlo*_*kot 5 sql-server odbc localdb

更新:感谢Dan Guzman,问题已经解决了.我犯了一个错误并使用了旧的遗产,Driver={SQL Server};假设它是新的驱动程序.相反,我应该使用Driver={ODBC Driver 11 for SQL Server}哪个是实际的新ODBC驱动程序.我可以使用新驱动程序连接到(Localdb)\ v11.0.


TL; TR:为什么我不能使用new in连接字符串连接到(Localdb)\ v11.0Driver={SQL Server};,但是如果我将驱动程序切换到旧的话,我可以连接Driver={SQL Server Native Client 11.0};

我使用的其余连接字符串参数是(如果在C++代码中使用,则反斜杠转义):

Server=(localdb)\v11.0;Integrated Security=True;
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过ODBC访问SQL Server并SQLDriverConnect使用无DSN连接字符串进行调用.如果我将驱动程序切换到SQL Server Native Client 11.0,那么我突然可以连接.

我还测试过生成FILEDSN %systemdrive%\Windows\System32\odbcad32.exe,我观察到完全相同的问题.

我可以与新连接的唯一本地数据库Driver={SQL Server}Server=DEVBOX\SQLEXPRESS(如果在C++代码中使用,则反斜杠转义,当然).

我找不到任何确认新的SQL Server ODBC驱动程序不支持LocalDB.

它仅在SQL Server for LinuxODBC驱动程序的常见问题中指出

SQL Server 2012的哪些功能支持此版本的驱动程序?Linux上的ODBC驱动程序支持SQL Server 2012中除LocalDB之外的所有服务器功能.

如何使用Windows上的新ODBC驱动程序连接到LocalDB?

更新:我正在使用Windows 10 Pro + VS2015.我可以连接到两者,(localdb)\v11.0DEVBOX\SQLEXPRESS使用SQL Server Management Studio 2016(CTP).(在这里,MSDN论坛也提出了同样的问题.)

Dan*_*man 8

ODBC驱动程序SQL Server是Windows附带的旧SQL Server ODBC驱动程序,用于向后兼容.最新的SQL Server ODBC驱动程序是ODBC Driver 11 for SQL Server.我相信这个ODBC驱动程序与SQL Server 2016 CTP一起安装.发布的版本可单独下载.

  • 只是一个更新:最新的SQL Server ODBC驱动程序现在是13.你可以下载它[这里](https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for - SQL服务器).我试图连接到RODBC中的本地数据库实例.它使用旧的{SQL Server}驱动程序失败,并成功使用{ODBC Driver 13 for SQL Server}. (2认同)