使用Pyodbc + UnixODBC + FreeTDS设置连接参数
我这边用的是Pyodbc、UnixODBC和FreeTDS的组合,但在这个过程中,有些选项被设置了,我不知道是在哪里设置的。根据SQL Server Management Studio的反馈,我的程序在打开连接时发送了一些设置:
set quoted_identifier off
set ansi_padding off
set ansi_nulls off
...
但是我需要一组不同的设置:
set quoted_identifier on
set ansi_padding on
set ansi_nulls on
...
有没有办法改变这些设置?如果我现在的配置不能做到,有没有其他的Python库可以让我更改这些设置(最好是使用Python数据库API)?
我不能在数据库里更改设置,因为我还有其他项目在用我现在的设置。
解决方案:
Mark的回答是对的,但我在FreeTDS/UnixODBC上没法让它工作。不过,把这些信息添加到我的odbc.ini文件里就完美解决了这个问题:
[servername]
... other options ..
AnsiNPW = YES
QuotedID = YES
1 个回答
3
根据MSDN的说明,你应该可以在连接字符串中设置这些内容:
cnxn = pyodbc.connect("DSN=someDSN;UID=someUser;PWD=somePass;QuotedID=Yes;AnsiNPW=Yes")