附錄 D:資料類型

ODBC 定義兩組資料類型:SQL 資料類型和 C 資料類型。 SQL 資料類型表示儲存在資料來源的資料型別。 C 資料類型表示儲存在應用程式緩衝區中的資料資料類型。

SQL 資料類型是由每個 DBMS 根據 SQL-92 標準所定義。 針對 SQL-92 標準中指定的每個 SQL 資料類型,ODBC 會定義類型識別碼,這是 在 ODBC 函式中當做引數傳遞或傳回結果集中繼資料中的 #define 值。 ODBC 不支援的唯一 SQL-92 資料類型是 BIT(ODBC SQL_BIT類型具有不同的特性)、BIT_VARYING、TIME_WITH_TIMEZONE、TIMESTAMP_WITH_TIMEZONE和NATIONAL_CHARACTER。 驅動程式負責將資料來源特定的 SQL 資料類型對應至 ODBC SQL 資料類型識別碼和驅動程式特定的 SQL 資料類型識別碼。 SQL 資料類型是在實作描述元的 SQL_DESC_CONCISE_TYPE 欄位中指定。

ODBC 會定義 C 資料類型及其對應的 ODBC 類型識別碼。 應用程式會藉由在呼叫 SQLBindCol 或 SQLGetData 的 TargetType 引數中傳遞適當的 C 類型識別碼,來指定緩衝區的 C 資料類型,以接收結果集資料 它會在呼叫 SQLBindParameter ValueType 引數中傳遞適當的 C 類型識別碼,以指定緩衝區的 C 類型,其中包含語句參數。 C 資料類型是在應用程式描述元的 SQL_DESC_CONCISE_TYPE 欄位中指定。

注意

沒有驅動程式特定的 C 資料類型。

每個 SQL 資料類型都會對應至 ODBC C 資料類型。 從資料來源傳回資料之前,驅動程式會將它轉換成指定的 C 資料類型。 將資料傳送至資料來源之前,驅動程式會從指定的 C 資料類型轉換它。

本附錄包含下列主題。

如需 ODBC 資料類型的說明,請參閱 ODBC 中的資料類型。 如需驅動程式特定 SQL 資料類型的相關資訊,請參閱驅動程式的檔。