\
在尝试通过 Linux 工作站上的 pyodbc 连接到 MS SQL 数据库(我已通过 tsql 和 isql 成功连接到该数据库)时,我一直在与转义字符作斗争,并决定将其发布在这里,希望有人能帮助我!
我的 SQL 服务器 UID 包括域和我的用户名,格式为 domain\username。我尝试使用\\
and转义反斜杠r'...'
(加上下面列出的方法和许多其他我没有费心记录的荒谬尝试),并且都完全转义字符串以提供空白条目。
尝试和错误的详细信息如下。如果有人知道我的语法有什么问题,或者这表明存在更大的问题,我将非常感谢您的洞察力!
尝试的连接字符串:
cnxn_str = 'DSN=sqlserverdatasource;TDS_Vers=8.0;Port=1433;UID=domain\\username'
cnxn_str = r'DSN=sqlserverdatasource;TDS_Vers=8.0;Port=1433;UID=domain\username'
cnxn_str = 'DSN=sqlserverdatasource;TDS_Vers=8.0;Port=1433;UID=domain\\\\username'
cnxn_str = ''.join(['DSN=sqlserverdatasource;TDS_Vers=8.0;Port=1433;UID=domain','\\','username'])
cnxn_str = 'DSN=sqlserverdatasource;TDS_Vers=8.0;Port=1433;UID=domain/username'
尝试连接并产生错误:
cnxn = pyodbc.connect(cnxn_str)
Connection string configurations that fail with
pyodbc.ProgrammingError: ('42000', "[42000] [unixODBC][FreeTDS][SQL Server]Login failed for user ''. The user is not associated with a trusted SQL Server connection. (18452) (SQLDriverConnect)") :