MDAC 2.5 SDK - ODBC Programmer's Reference
Appendix D: Data Types
The identifier for the GUID ODBC C data type is:
SQL_C_GUID
The following table shows the ODBC SQL data types to which GUID C data may be converted. For an explanation of the columns and terms in the table, see "Converting Data from C to SQL Data Types."
SQL type identifier | Test | SQLSTATE |
SQL_CHAR | Column byte length >= 36 | n/a |
SQL_VARCHAR | Column byte length < 36 | 22001 |
SQL_LONGVARCHAR | Data value is not a valid GUID | 22018 |
SQL_WCHAR | Column character length >= 36 | n/a |
SQL_WVARCHAR | Column character length < 36 | 22001 |
SQL_WLONGVARCHAR | Data value is not a valid GUID | 22018 |
SQL_GUID | None[a] | n/a |
[a] All hexidecimal values are valid as a GUID.
The driver ignores the length/indicator value when converting data from the GUID C data type and assumes that the size of the data buffer is the size of the GUID C data type. The length/indicator value is passed in the StrLen_or_Ind argument in SQLPutData and in the buffer specified with the StrLen_or_IndPtr argument in SQLBindParameter. The data buffer is specified with the DataPtr argument in SQLPutData and the ParameterValuePtr argument in SQLBindParameter.