python - 使用 Pyodbc + UnixODBC + FreeTDS 设置连接设置

标签 python sql-server odbc pyodbc unixodbc

我使用 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

最佳答案

根据MSDN您应该能够在连接字符串中设置这些:

cnxn = pyodbc.connect("DSN=someDSN;UID=someUser;PWD=somePass;QuotedID=Yes;AnsiNPW=Yes")

关于python - 使用 Pyodbc + UnixODBC + FreeTDS 设置连接设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3416814/

相关文章:

python - 使用 numpy.round 时出现 `AttributeError: rint`

python - 对于基本总和计算,Cython 并不比 Python 快多少

sql-server - 将 select 语句的结果保存到宽表 SQL Server

sql - 更新和插入 SQL

sql-server - 如何从 ruby​​ 连接到 MS SQL Server

MySQL 使用 ODBC 驱动程序连接字符串

java - 使用 pygtk 进行 Android 应用程序开发

sql-server - 连接到 SQL Server(从 Ubuntu): [RubyODBC] Cannot allocate SQLHENV

python - Python 和 MS Access VBA 之间 OLEDB/ODBC 的相反工作

python - 在 'for' 循环期间创建并写入新的 csv 文件