【问题标题】:How to connect to SQL Server from Python Flask?如何从 Python Flask 连接到 SQL Server?
【发布时间】:2020-02-19 14:53:39
【问题描述】:

我一直在尝试从 Flask 连接到 SQL Server,但没有成功。

当我在本地机器上尝试时,我可以连接到数据库并且它工作得非常好,但是当我尝试从 VM/远程桌面连接时,我看到以下错误。

我花了很多时间试图找出问题并寻求解决方案,但没有运气。 我怀疑应该是防火墙或安全性。

在此先感谢您的帮助。

conn = pyodbc.connect('Driver={SQL Server};'
        'Server=DEV001;'
        'Database=ZXCZ;'
        'user=gendb;'
        'Password=qwe123;')
OperationalError: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver]
[DBNETLIB]SSL Security error (18) (SQLDriverConnect); 
[08001] [Microsoft][ODBC SQL Server Driver]
[DBNETLIB]ConnectionOpen (SECCreateCredentials()). (1); 
[08001] [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute (0)')

【问题讨论】:

  • 您确定{SQL Server} 是正确的驱动程序吗? github.com/mkleehammer/pyodbc/wiki/…
  • {SQL Server} 在我的本地机器中尝试时工作正常,但只有在虚拟机中尝试时我才会看到问题。
  • 确保使用适当的ODBC parameters。使用 uidpwd 代替 userpassword。另外,请记住,虚拟机与本地计算机的环境不同。它必须具有对数据库的网络或远程访问权限并安装了 ODBC 驱动程序。
  • 虚拟机可能有与本地机器不同的驱动程序...

标签: python sql-server flask pyodbc


【解决方案1】:

确保您使用最新版本的 ODBC,您可以在此处找到:

https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server

在页面底部,您还可以找到指向安装文档的链接,以防您在不同于 Windows 的设备上进行安装。

另外,连接字符串应该是这样的

DRIVER={ODBC Driver 17 for SQL Server};SERVER=;DATABASE=;UID=;PWD=;

【讨论】:

    猜你喜欢
    • 2016-05-29
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多