Skip to Content.
Sympa Menu

freetds - [freetds] [BUG] 0.91 SQL Anywhere SQLColumns

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Lionel Elie Mamane <lionel AT mamane.lu>
  • To: FreeTDS AT lists.ibiblio.org
  • Subject: [freetds] [BUG] 0.91 SQL Anywhere SQLColumns
  • Date: Thu, 2 Aug 2012 10:58:45 +0200

Hi,

When connecting to SQL Anywhere 10.0.1.3716, SQLColumns() returns
wrong data: the columns are not at their expected
position, don't have the right name, don't contain the right data, ...
http://msdn.microsoft.com/en-us/library/windows/desktop/ms711683(v=vs.85).aspx

E.g. column "ordinal_position" should be at position 17
but it is at position 14 and is called "column_id".
It seems the first 12 columns are correct (these are the ODBC 1.0
columns), and after that, the two extra columns are incorrect, and
most are missing.

The source code says:

/**
* SQLColumns
*
* Return column information for a table or view. This is
* mapped to a call to sp_columns which - lucky for us - returns
* the exact result set we need.
*
* exec sp_columns [ @table_name = ] object
* [ , [ @table_owner = ] owner ]
* [ , [ @table_qualifier = ] qualifier ]
* [ , [ @column_name = ] column ]
* [ , [ @ODBCVer = ] ODBCVer ]
*
*/


Well, that assumption is wrong:

1> exec sp_columns @table_name='COMPANY';
2> go
table_qualifier table_owner table_name column_name type_id
type_name precision length scale radix nullable remarks
ss_domain_id column_id
compta DBA COMPANY CMPY_CODE 1 char
8 8 0 NULL 0 NULL 47
1
compta DBA COMPANY LEGAL_FORM_CODE 1 char
4 4 0 NULL 0 NULL 47
2
compta DBA COMPANY CURY_CODE 1 char
3 3 0 NULL 0 NULL 47
3
compta DBA COMPANY CTRY_CODE 1 char
2 2 0 NULL 0 NULL 47
4
compta DBA COMPANY CMPY_NAME 12
varchar 250 250 0 NULL 0 NULL 39
5
compta DBA COMPANY CMPY_VAT_NUM 12
T_VAT_NUMBER 20 20 0 NULL 1 NULL 39
6
compta DBA COMPANY CMPY_VAT_ID 12
T_VAT_NUMBER 20 20 0 NULL 1 NULL 39
7
compta DBA COMPANY CMPY_TRADE_REG 12
varchar 20 20 0 NULL 1 NULL 39
8
compta DBA COMPANY CMPY_TAX_BUR 1 char
10 10 0 NULL 1 NULL 47
9
compta DBA COMPANY CMPY_VAT_DECL_VRMODE 1
char 1 1 0 NULL 1 NULL
47 10
compta DBA COMPANY ADDR_NUM 1
char 10 10 0 NULL 1 NULL
47 11
compta DBA COMPANY ADDR_STREET 12
varchar 50 50 0 NULL 1 NULL
39 12
compta DBA COMPANY ADDR_BOX 12
varchar 20 20 0 NULL 1 NULL
39 13
compta DBA COMPANY ADDR_SUPP 12
varchar 50 50 0 NULL 1 NULL
39 14
compta DBA COMPANY ADDR_ZIP_CODE 12
varchar 20 20 0 NULL 1 NULL
39 15
compta DBA COMPANY ADDR_CITY 12
varchar 35 35 0 NULL 1 NULL
39 16
compta DBA COMPANY CURY_CODE2 1
char 3 3 0 NULL 1 NULL
47 17
compta DBA COMPANY cmpy_activity 12
varchar 50 50 0 NULL 1 NULL
39 18
compta DBA COMPANY CMPY_XML_VAT_CODE 12
varchar 5 5 0 NULL 1 NULL
39 19
compta DBA COMPANY CMPY_XML_AUTH_CODE 12
varchar 30 30 0 NULL 1 NULL
39 20
compta DBA COMPANY CMPY_NUM_CETREL 12
varchar 50 50 0 NULL 1 NULL
39 21
compta DBA COMPANY CMPY_DOM_FILE_ID 2
numeric 10 10 0 10 1 NULL
63 22
compta DBA COMPANY SW_DECL_VAT_PAID 2
numeric 1 1 0 10 1 NULL
63 23
compta DBA COMPANY cmpy_debut_exercice 12
varchar 10 10 0 NULL 1 NULL
39 24
compta DBA COMPANY intrastat_declaration_type
2 numeric 1 1 0 10 1
NULL 63 25
compta DBA COMPANY CMPY_COMMENT
12 varchar 1024 1024 0 NULL 1
NULL 39 26
compta DBA COMPANY CMPY_PICTURE
-4 image 32767 32767 0 NULL 1
NULL 34 27
compta DBA COMPANY CMPY_XML_ECDF_CODE
12 varchar 6 6 0 NULL 1
NULL 39 28



--
Lionel




Archive powered by MHonArc 2.6.24.

Top of Page