Aracılığıyla paylaş


DavranışSal Değişiklikler

Davranış değişiklikleri, arabirimin söz diziminin aynı kaldığı, ancak semantiğin değiştiği değişikliklerdir. Bu değişiklikler için ODBC 2'de kullanılan işlevler. x , ODBC 3'teki aynı işlevden farklı davranır. x.

Bir uygulamanın ODBC 2 gösterip göstermeyeceği. x davranışı veya ODBC 3. x davranışı, SQL_ATTR_ODBC_VERSION ortam özniteliği tarafından belirlenir. Bu 32 bit değer, ODBC 2.x davranışını göstermek için SQL_OV_ODBC2 olarak ve ODBC 3.x davranışını göstermek için SQL_OV_ODBC3 olarak ayarlanır.

SQL_ATTR_ODBC_VERSION ortam özniteliği SQLSetEnvAttr çağrısıyla ayarlanır. Bir uygulama bir ortam tanıtıcısı ayırmak için SQLAllocHandle'ı çağırdıktan sonra, sergilediği davranışı ayarlamak için SQLSetEnvAttr'ı hemen çağırması gerekir. (Sonuç olarak, ayrılmış ancak sürümsüz bir durumda ortam tanıtıcısını açıklamak için yeni bir ortam durumu vardır.) Daha fazla bilgi için bkz . Ek B: ODBC Durumu Geçiş Tabloları.

Bir uygulama, SQL_ATTR_ODBC_VERSION ortam özniteliğiyle hangi davranışı sergilediğini belirtir, ancak özniteliğin uygulamanın ODBC 2 ile bağlantısı üzerinde hiçbir etkisi yoktur. x veya ODBC 3. x sürücüsü. ODBC 3.x uygulaması, ortam özniteliğinin ayarı ne olursa olsun, ODBC 2.x veya 3.x sürücüsüne bağlanabilir.

ODBC 3. x uygulamaları hiçbir zaman SQLAllocEnv'i çağırmamalıdır. Sonuç olarak, Sürücü Yöneticisi SQLAllocEnv çağrısı alırsa, uygulamayı ODBC 2 olarak tanır. x uygulaması.

SQL_ATTR_ODBC_VERSION özniteliği, ODBC 3'ün üç farklı yönünü etkiler. x sürücüsünün davranışı:

  • SQLSTATEs

  • Tarih, saat ve zaman damgası için veri türleri

  • SQLTable'lardakiCatalogName bağımsız değişkeni ODBC 3'teki arama desenlerini kabul eder. x, ancak ODBC 2'de değil. x

SQL_ATTR_ODBC_VERSION ortam özniteliğinin ayarı SQLSetParam veya SQLBindParam'i etkilemez. SQLColAttribute da bu bitten etkilenmez. SQLColAttribute, ODBC sürümünden etkilenen öznitelikleri (tarih türü, duyarlık, ölçek ve uzunluk) döndürse de, istenen davranış FieldIdentifier bağımsız değişkeninin değeriyle belirlenir. FieldIdentifier SQL_DESC_TYPE eşit olduğunda, SQLColAttribute ODBC 3 döndürür. tarih, saat ve zaman damgası için x kodları; FieldIdentifier SQL_COLUMN_TYPE eşit olduğunda, SQLColAttribute ODBC 2'yi döndürür. tarih, saat ve zaman damgası için x kodları.

Bu bölüm aşağıdaki konuları içerir.