sql-server – 通过sqlalchemy和pyodbc访问MS SQL数据库时出现“
发布时间:2020-12-12 06:42:07 所属栏目:MsSql教程 来源:网络整理
导读:所以我在sqlalchemy和pyodbc使用远程MS SQL Server时遇到了一些麻烦.本地sqlcmd工作正常但不是当我尝试通过 python代码读取数据库时.任何帮助,将不胜感激. 环境: Centos 7 SQLCmd版本:版本17.1.0000.1 Linux MS SQL Server 6.01.7601.17514 Python 2.7 以下
所以我在sqlalchemy和pyodbc使用远程MS SQL Server时遇到了一些麻烦.本地sqlcmd工作正常但不是当我尝试通过
python代码读取数据库时.任何帮助,将不胜感激.
环境: > Centos 7 以下sqlcmd正常工作 sqlcmd -S {Host},{Port} -U {USER} -P {PWD} -Q "use {Database};" 试图直接使用sqlalchemy或pyodbc不起作用.错误: pyodbc.OperationalError:(‘HYT00′,u'[HYT00] [unixODBC] [Microsoft] [用于SQL Server的ODBC驱动程序17]登录超时已过期(0)(SQLDriverConnect)’) 码: conn = pyodbc.connect( r'DRIVER={ODBC Driver 17 for SQL Server};' r'SERVER=HOST,PORT;' r'DATABASE=DATABASE;' r'UID=UID;' r'PWD=PWD' ) 尝试使用sqlalchemy: create_engine('mssql+pyodbc://{user}:{password}@{host}:{port}/{database}?driver={driver}'.format( user=user,password=password,host=host,database=database,port=port,driver="ODBC+Driver+17+for+SQL+Server" )).connect() 如果我从命令中删除端口,我可以使用sqlcmd重现错误,所以我传递给pyodbc的conn_string可能格式不正确吗? 解决方法问题可能与DNS有关,因为您可以阅读 here. 尝试在连接字符串中使用IP地址而不是主机名,或检查DNS配置.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |