代码之家  ›  专栏  ›  技术社区  ›  Brendan Long

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

  •  1
  • Brendan Long  · 技术社区  · 14 年前

    我有一个使用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)?

    更改数据库中的设置不是一个选项,因为我有许多其他项目使用我当前的设置。

    解决了的:

    马克的回答是正确的,但我无法让它与FreeTDS/UnixODBC一起工作。不过,将这些信息添加到我的odbc.ini文件非常有效:

    [servername]
    ... other options ..
    AnsiNPW = YES
    QuotedID = YES
    
    1 回复  |  直到 4 年前
        1
  •  3
  •   Mark    14 年前

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

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