Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/105365

From BetaArchive Wiki

BUG: dbcursorcolinfo() Returns Invalid Column Types


The information in this article applies to:

  • Microsoft SQL Server Programmer's Toolkit, version 4.2

BUG# 9460 (4.2)


When using dbcursorcolinfo() to determine the column type of a cursored results set, unexpected values are returned for the column type. These values do not correspond with the column types returned by calling dbcolinfo() to determine column type in a non-cursored results set.


The DB-Library function dbcursorcolinfo() returns the column type stored in syscolumns rather than the column types documented for dbcolinfo().


Microsoft has confirmed this to be a problem in DB-Library version 4.20.00. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


The following table shows the column type returned by dbcolinfo() and by dbcursorcolinfo() when the column is NOT NULL or NULL.

Datatype         dbcolinfo()       cursored (NOT NULL)   cursored (NULL)
binary           SQLBINARY         SQLBINARY             SQLVARBINARY
bit              SQLBIT            SQLBIT                N/A
char             SQLCHAR           SQLCHAR               SQLVARCHAR
datetime         SQLDATETIME       SQLDATETIME           SQLDATETMIN
float            SQLFLT8           SQLFLT8               SQLFLTN
image            SQLIMAGE          SQLIMAGE              SQLIMAGE
int              SQLINT4           SQLINT4               SQLINTN
money            SQLMONEY          SQLMONEY              SQLMONEYN
real             SQLFLT4           SQLFLT4               SQLFLTN
smalldatetime    SQLDATETIM4       SQLDATETIM4           SQLDATETIMN
smallint         SQLINT2           SQLINT2               SQLINTN
smallmoney       SQLMONEY4         SQLMONEY4             SQLMONEYN
text             SQLTEXT           SQLTEXT               SQL TEXT
timestamp        SQLBINARY         SQLVARBINARY          SQLVARBINARY
tinyint          SQLINT1           SQLINT1               SQLINTN
varbinary        SQLBINARY         SQLVARBINARY          SQLVARBINARY
varchar          SQLCHAR           SQLVARCHAR            SQLVARCHAR 

Returned column types such as SQLVARCHAR should be translated to the expected return type of dbcolinfo(). Using these values to identify data types in functions such as dbconvert() can cause errors.

Additional query words: DB-Lib datatype dblib

Keywords : kbprogramming
Issue type :
Technology : kbSQLServSearch kbAudDeveloper kbSQLServPTK420

Last Reviewed: March 18, 1999
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.