Re: unixodbc and character identifier limits?

"Lukasz Szybalski" <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <[email protected]>
On Fri, Apr 11, 2008 at 6:14 PM, James K. Lowden <[email protected]> wrote:
> Lukasz Szybalski wrote:
>  > ok I switched to 7.0 but while using pyodbc / ceodbc I get the
>  > following:
>  >
>  > >>> connection =
>  > >ceODBC.Connection("DRIVER={TDS};Server=xxx;UID=xxx;PWD=xxx") >>
>  > >c=connection.cursor()
>  >  >>> c.execute('select xxxxxxx.HISTORY_NUMBER as
>  > xxxxxx_xxxxxx_HISTORY_NUMBER_38_THIS_IS_OVER_30 from
>  > xxxxxx').fetchone()
>  >
>  > ('    7547',)
>  > >>> print c.description
>  > [('xxxxxx_xxxxx_HISTORY_NUMBER_38_TH', <type 'ceODBC.StringVar'>, 8,
>  > 8, 0, 0, False
>  >
>  > As you can see the description is cut off?
>  > When I specify the DRIVER={TDS} is that going through
>  > /etc/freetds/freetds.conf ?
>
>  http://www.freetds.org/0.82/userguide/odbcconnattr.htm
>  http://www.freetds.org/0.82/userguide/dsnless.htm
>
>  No.  You're using "Server", not "Servername".  And I think you are using
>  DSN-less connection i.e., specifying all connection attributes in the
>  command string.
>
>  To use TDS 7.0 in a DSN-less connection, your options are:
>
>  1.  Rebuild FreeTDS --with-tdsver=7.0, or
>  2.  Set the environment variable TDSVER=7.0 before starting Python, or
>  3.  Add "TDS_Version=7.0;" to your connection string.
>  4.  Use "Servername" in your connection string.
>
>  Any of those should work.
>

Thanks,
adding TDS_Version works in ceodbc/pyodbc.

import ceODBC
connection = ceODBC.Connection("SERVER=xxx;UID=xx;PWD=xxx;DRIVER={TDS};TDS_Version=7.0")
c=connection.cursor()
c.execute('select xxx.xxxxxx_HISTORY_NUMBER_38 as
xxxxxxxx_HISTORY_NUMBER_38_THIS_IS_OVER_30 from xxxx').fetchone()
('    7547',)
print c.description
[('xxxxxxxxx_HISTORY_NUMBER_38_THIS_IS_OVER_30', <type
'ceODBC.StringVar'>, 8, 8, 0, 0, False)]
}}}

Is there a reason default in freetds.conf is still set so low?

http://www.freetds.org/tds.html

sqlserver 2000 is running 8.0

Thanks for your help.
Lucas

on Debian Linux, using freetds and unixodbc I was able to use
sqlalchemy via pyodbc to connect to sqlserver 2000, by adding
DRIVER={TDS} and TDS_VERSION=7.0. I'll would go with 8.0 maybe and see
how that works.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.