Skip to Content.
Sympa Menu

freetds - [freetds] Weird problem with CHAR columns being reported as VARCHAR columns with FreeTDS 0.61.2, DBD::ODBC and unixODBC and iODBC talking to SQL Server 2000, perl 5.8.1 on Solaris

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Harrington, Paul" <Paul-Harrington AT deshaw.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: [freetds] Weird problem with CHAR columns being reported as VARCHAR columns with FreeTDS 0.61.2, DBD::ODBC and unixODBC and iODBC talking to SQL Server 2000, perl 5.8.1 on Solaris
  • Date: Mon, 13 Oct 2003 13:30:09 -0400

Hi,
I thought that I was having problems with the ChopBlanks attribute being
honored in DBD::ODBC as any of my tests with CHAR columns were failing
because of trailing spaces. However, on checking into it a bit closer, it
seems that the columns in the result set are being described as varchar
rather than char. The retrieved values do not contain trailing spaces when I
access the database with DBD::Sybase built over the same revision of FreeTDS
(but -- of course -- going over ct-lib).

any ideas as to why unixODBC and iODBC seem to be interpreting the column as
a varchar rather than a char?

pjjH

[details]

The condition (line 2226 of dbdimp.c in DBD-ODBC-1.06) is:
if (ChopBlanks && fbh->ColSqlType == SQL_CHAR && fbh->datalen > 0) {


on checking the DBI trace with freetds, I see:

colname 14 = nodmst_name, len = 11 (194)
col 14: VARCHAR len= 30 disp= 31, prec= 30 scale=0



This is the (section of the) output I get from sp_help for the table.

nodmst_name






char






no 30
yes no

yes
SQL_Latin1_General_CP1_CI_AS










Archive powered by MHonArc 2.6.24.

Top of Page