将Python连接到Docker上的SQL Server 2017



我正在尝试在Mac上设置一个新的开发环境

  • 开发OS:MACOS 10.13.2
  • python:3.6
  • pyodbc:4.0.21
  • 驱动程序经理:UnixoDBC 2.3.4
  • 驱动程序:freetds 1.00.79
  • DB:MS SQL Server 2017开发人员[Microsoft SQL Server 2017 14.0.3008.27(X64)Linux(Ubuntu 16.04.3 lts)上的开发人员版(64位)]从https://learn.microsoft.com/下载。en-us/sql/linux/quickstart-install-connect-docker#pull-run-the-container-image

问题

telnet to mssql-linux2017 docker图像在1433上是

sqlcmd失败,以下错误

[ODBC][22520][1512841146.847871][SQLGetDiagFieldW.c][815]
Entry:
Connection = 0x7fcbe2010c00
Rec Number = 2
Diag Ident = 5
Diag Info Ptr = 0x7ffeec672b3c
Buffer Length = -6
String Len Ptr = 0x0
[ODBC][22520][1512841146.848022][SQLGetDiagFieldW.c][835]
Exit:[SQL_SUCCESS]
[ODBC][22520][1512841146.848195][SQLGetDiagFieldW.c][815]
Entry:
Connection = 0x7fcbe2010c00
Rec Number = 2
Diag Ident = 6
Diag Info Ptr = 0x7fcbe200d200
Buffer Length = 2050
String Len Ptr = 0x7ffeec672b40
[ODBC][22520][1512841146.848367][SQLGetDiagFieldW.c][835]
Exit:[SQL_SUCCESS]
[ODBC][22520][1512841146.848539][SQLGetDiagFieldW.c][815]
Entry:
Connection = 0x7fcbe2010c00
Rec Number = 2
Diag Ident = 4
Diag Info Ptr = 0x7ffeec672b44
Buffer Length = 12
String Len Ptr = 0x7ffeec672b40
[ODBC][22520][1512841146.848711][SQLGetDiagFieldW.c][835]
Exit:[SQL_SUCCESS]
[ODBC][22520][1512841146.848939][SQLGetConnectAttrW.c][211]Error: SQL_INVALID_HANDLE

理想情况下我想做

pyodbc.connect('DRIVER=ODBC Driver 13 for SQL Server;SERVER=localhost;PORT:1433;DATABASE=<SOMEDB>;UID=SA;PWD=<myPass>')

好的,它在tsql/freetds级别排序。弄清楚密码策略&amp;我更改的密码没有保存到Docker映像。必须启用TDS记录,这很明显。当我尝试使用旧密码时,它就像我很愚蠢。

TDS协议版本似乎非正式地支持SQL Server 2017开发人员。

非常感谢 @cricket_007

相关内容

  • 没有找到相关文章

最新更新