python - 使用pyodbc通过linux连接MS-SQL数据库时如何解决错误
问题描述
我正在尝试使用 pyodbc 从我们的 Linux 服务器连接到外部 MS SQL 数据库服务器,但出现错误。
代码:
import pyodbc
server = 'XXXXXXXXX,port'
database = 'XXXXXXXXXXXXXXX'
username = 'XXXXXXXXXXXX'
password = 'XXXXXXXX'
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
#Sample select query
cursor.execute("SELECT @@version;")
row = cursor.fetchone()
while row:
print(row[0])
row = cursor.fetchone()
cnxn.close()
错误:
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+密码) pyodbc.ProgrammingError: ( '42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]无法打开登录请求的数据库“xxxxxxxxxx”。登录失败。(4060)(SQLDriverConnect)')
我还尝试阅读多种解决方案并尝试它们,例如:将密码放在括号中,例如 --> password = '{XXXXXXXX}' 因为它有特殊字符。还尝试将服务器作为 --> server = 'tcp:XXXXXXXXX,port' 没有任何效果,这一切都给了我同样的错误。
你能指导我解决这个问题吗?
非常感谢您的帮助。
解决方案
推荐阅读
- android - 如何在从mysql获取数据的listview中使用onItemClick?
- javascript - 使用一组数据填写 Web 表单的脚本
- laravel-5 - Laravel 批处理文件上传
- javascript - jQuery - 检查下拉菜单
- javascript - 使用 Redux 进行动态向导
- jpa - EclipseLink JPA 2.1 - 调用 JPA 本机查询并尝试将结果映射到 POJO 时引发异常
- notifications - Android 8 中的通知“setSound()”
- powershell - 在 PowerShell 中使用 if 条件进行比较
- spring-batch - Spring Batch - 在处理器中聚合多行
- unity3d - unity google 街景全景图