<docbook><section><title>OLEDBSupportedConversions</title><bridgehead class="http://www.w3.org/1999/xhtml:h3">Supported Conversions</bridgehead>
<para>Before the consumer creates an accessor, it can call <emphasis>IConvertType::CanConvert</emphasis> to determine if the provider supports a particular conversion.</para><bridgehead class="http://www.w3.org/1999/xhtml:h4">Default Data Type Mapping</bridgehead>
<para>The OpenLink Provider binds to the ODBC/UDBC data source using the types in the table below.
 The SQL type is queried using SQLDescribeCol.
 The sign of the data type (signed/unsigned) is determined using SQLColAttributes.
 It is used in deciding which C type to use in internal buffers and which type indicator to return through <emphasis>IColumnsInfo::GetColumnInfo</emphasis>.</para><para> Table: 5.7.9.1.1.
 OLE-DB Data Type Mappings</para><para> 
</para><table><title /><tgroup><thead /><tbody>
<row />
<row><entry>SQL_CHAR, SQL_VARCHAR, SQL_LONGVARCHAR, SQL_DECIMAL, SQL_NUMERIC</entry><entry> SQL_C_CHAR</entry><entry>DBTYPE_STR</entry></row>
<row><entry>SQL_BIT</entry><entry>SQL_C_BIT</entry><entry>DBTYPE_BOOL</entry></row>
<row><entry>SQL_TINYINT, SQL_SMALLINT</entry><entry>SQL_C_USHORT, SQL_C_SSHORTS</entry><entry>DBTYPE_I2</entry></row>
<row><entry>SQL_INTEGER</entry><entry>SQL_C_ULONG, SQL_C_SLONG</entry><entry>DBTYPE_I4</entry></row>
<row><entry>SQL_BIGINT</entry><entry>SQL_C_STR</entry><entry>DBTYPE_STR</entry></row>
<row><entry>SQL_REAL</entry><entry>SQL_C_FLOAT</entry><entry>DBTYPE_R4</entry></row>
<row><entry>SQL_FLOAT, SQL_DOUBLE</entry><entry>SQL_C_DOUBLE</entry><entry>DBTYPE_R8</entry></row>
<row><entry>SQL_BINARY, SQL_VARBINARY, SQL_LONGVARBINARY</entry><entry>SQL_C_BINARY</entry><entry>DBTYPE_BYTES</entry></row>
<row><entry>SQL_DATE</entry><entry>SQL_C_DATE</entry><entry>DBTYPE_DATE</entry></row>
<row><entry>SQL_TIME</entry><entry>SQL_C_TIME</entry><entry>DBTYPE_DATE</entry></row>
<row><entry>SQL_TIMESTAMP</entry><entry>SQL_C_TIMESTAMP</entry><entry>DBTYPE_DATE</entry></row>
</tbody></tgroup></table>
<para> </para><bridgehead class="http://www.w3.org/1999/xhtml:h4">Length Binding</bridgehead>
<para>For types DBTYPE_UI1, DBTYPE_I2, DBTYPE_I4, DBTYPE_I8, DBTYPE_R4, DBTYPE_R8, DBTYPE_CY, DBTYPE_NUMERIC, the length binding is always set to the fixed size of the destination binding type, rather than the internal source type.</para><bridgehead class="http://www.w3.org/1999/xhtml:h4">Supported Data Conversions</bridgehead>
<para>The follwoing table outlines the supported type conversion implemented in the OpenLink provider.
 An &#39;X&#39; means supported, and &#39;-&#39; means not supported.</para><para>Table: 5.7.9.3.1.
 OLE-DB Data Type Conversions
</para><table><title /><tgroup><thead /><tbody>
<row><entry>  </entry><entry> <emphasis>I1</emphasis> </entry><entry> 	<emphasis>I2</emphasis> </entry><entry> 	<emphasis>I4</emphasis> </entry><entry> 	<emphasis>I8</emphasis> </entry><entry> <emphasis>UI1</emphasis> </entry><entry> 	<emphasis>UI2</emphasis> </entry><entry> 	<emphasis>UI4</emphasis> </entry><entry> 	<emphasis>UI8</emphasis> </entry><entry> 	<emphasis>R4</emphasis> </entry><entry> 	<emphasis>R8</emphasis> </entry><entry> 	<emphasis>CY</emphasis> </entry><entry> 	<emphasis>DEC</emphasis> </entry><entry> 	<emphasis>NUM</emphasis> </entry><entry> 	<emphasis>BOOL</emphasis> </entry><entry> 	<emphasis>DATE</emphasis> </entry><entry> 	<emphasis>DBDATE</emphasis> </entry><entry> 	<emphasis>DBTIMESTAMP</emphasis> </entry><entry> 	<emphasis>DBTIME</emphasis> </entry><entry> 	<emphasis>BYTES</emphasis> </entry><entry> 	<emphasis>BSTR</emphasis> </entry><entry> 	<emphasis>STR</emphasis> </entry><entry> 	<emphasis>WSTR</emphasis> </entry><entry> 	<emphasis>DISP</emphasis> </entry><entry> 	<emphasis>UNK</emphasis> </entry><entry> 	<emphasis>GUID</emphasis> </entry></row>
<row><entry>I1</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>I2</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>I4</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>I8</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>UI1</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>	X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>UI2</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>UI4</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>UI8</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>R4</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>	X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>R8</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>	X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>CY</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>DEC</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>	X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>NUM</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>BOOL</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>DATE</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>	X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>DBDATE</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>DBTIME</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>DBTIMESTAMP</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry></row>
<row><entry>BYTES</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry></row>
<row><entry>BSTR</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>	X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>X</entry></row>
<row><entry>STR</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>X</entry><entry>X</entry></row>
<row><entry>WSTR</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>X</entry><entry>X</entry></row>
<row><entry>DISP</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>-</entry></row>
<row><entry>UNK</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>-</entry></row>
<row><entry>GUID</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>X</entry><entry>-</entry><entry>-</entry><entry>X</entry></row>
</tbody></tgroup></table>
<para> </para></section></docbook>