Aracılığıyla paylaş


Çekirdek Arabirim Uyumluluğu

Tüm ODBC sürücüleri en az Çekirdek düzeyinde arabirim uyumluluğu göstermelidir. Çekirdek düzeyindeki özellikler çoğu genel birlikte çalışabilen uygulamanın gerektirdiği özellikler olduğundan, sürücü bu tür uygulamalarla çalışabilir. Çekirdek düzeyindeki özellikler, ISO CLI belirtiminde tanımlanan özelliklere ve Open Group CLI belirtiminde tanımlanan nonoptional özelliklere de karşılık gelir. Çekirdek düzeyinde arabirim uyumlu ODBC sürücüsü, uygulamanın aşağıdakilerin tümünü yapmasına olanak tanır:

  • Tüm türdeki tanıtıcıları ayırmak ve serbest bırakmak için SQLAllocHandle ve SQLFreeHandle'ı çağırın.

  • SQLFreeStmt işlevinin tüm biçimlerini kullanın.

  • SQLBindCol çağırarak sonuç kümesi sütunlarını bağlayın.

  • SQLBindParameter ve SQLNumParams'ı çağırarak parametre dizileri de dahil olmak üzere dinamik parametreleri yalnızca giriş yönünde işleyin. (Çıkış yönündeki parametreler Düzey 2 Arabirim Uyumluluğu'nda 203 özelliğidir.)

  • Bir bağlama uzaklığı belirtin.

  • SQLParamData ve SQLPutData çağrılarını içeren veri-yürütme sırasında iletişim kutusunu kullanın.

  • SQLCloseCursor, SQLGetCursorName ve SQLSetCursorName'i çağırarak imleçleri ve imleç adlarını yönetin.

  • SQLColAttribute, SQLDescribeCol, SQLNumResultCols ve SQLRowCount'u çağırarak sonuç kümelerinin açıklamasına (meta veriler) erişim elde edin. (Yer işareti meta verilerini almak için 0 numaralı sütunda bu işlevlerin kullanılması, Seviye 2 Arabirim Uyumluğu'nda 204 numaralı özelliktir.)

  • SQLColumns, SQLGetTypeInfo, SQLStatistics ve SQLTables katalog işlevlerini çağırarak veri sözlüğünü sorgulayın.

    Sürücü, veritabanı tablolarının ve görünümlerinin çok parçalı adlarını desteklemek için gerekli değildir. (Daha fazla bilgi için bkz. Düzey 1 Arabirim Uyumluluğu'nda 101 özelliği ve Düzey 2 Arabirim Uyumluluğu'nda özellik 201.) Ancak sql-92 belirtiminin sütun niteliği ve dizin adları gibi bazı özellikleri çok parçalı adlandırmayla benzerdir. ODBC özelliklerinin mevcut listesi, SQL-92'nin bu yönlerine yeni seçenekler eklemek için tasarlanmamıştır.

  • SQLConnect, SQLDataSources, SQLDisconnect ve SQLDriverConnect'i çağırarak veri kaynaklarını ve bağlantıları yönetin. SQLDriver'ları çağırarak hangi ODBC düzeyini desteklerse desteklesin sürücüler hakkında bilgi edinin.

  • SQLExecDirect, SQLExecute ve SQLPrepare'i çağırarak SQL deyimlerini hazırlayın ve yürütin.

  • SqlFetch'i çağırarak veya FetchOrientation bağımsız değişkeni SQL_FETCH_NEXT olarak ayarlanmış SQLFetchScroll'ı çağırarak, sonuç kümesinin bir satırını veya birden çok satırı yalnızca ileri yönde getirin.

  • SQLGetData'yı çağırarak parçalar halinde ilişkisiz bir sütun alın.

  • SQLGetConnectAttr, SQLGetEnvAttr ve SQLGetStmtAttr çağrısı yaparak tüm özniteliklerin geçerli değerlerini alın ve SQLSetConnectAttr, SQLSetEnvAttr ve SQLSetStmtAttr'ı çağırarak tüm öznitelikleri varsayılan değerlerine ayarlayın ve belirli öznitelikleri nondefault değerlerine ayarlayın.

  • SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescField ve SQLSetDescRec'i çağırarak belirli tanımlayıcı alanlarını işleyin.

  • SQLGetDiagField ve SQLGetDiagRec'i çağırarak tanılama bilgilerini alın.

  • SQLGetFunctions ve SQLGetInfo çağrısı yaparak sürücü özelliklerini algılayın. Ayrıca, SQLNativeSql çağrısı yaparak veri kaynağına gönderilmeden önce bir SQL deyimine yapılan metin değiştirmelerinin sonucunu algılayın.

  • bir işlem işlemek için SQLEndTran söz dizimini kullanın. Çekirdek düzeyinde bir sürücü gerçek işlemleri desteklemez; bu nedenle uygulama, SQL_ATTR_AUTOCOMMIT bağlantı özniteliği için SQL_ROLLBACK veya SQL_AUTOCOMMIT_OFF belirtemez. (Daha fazla bilgi için bkz. Düzey 2 Arabirim Uyumluluğu'nda 109 özelliği.)

  • SQLCancel çağırarak veri yürütümünde açılan iletişim kutusunu iptal etme işlemi yapın ve çok iş parçacıklı ortamlarda başka bir iş parçacığında yürütülen bir ODBC işlevini iptal etme işlemini gerçekleştirin. Çekirdek düzeyinde arabirim uyumluluğu, işlevlerin zaman uyumsuz yürütülmesine yönelik desteği veya zaman uyumsuz olarak yürütülen bir ODBC işlevini iptal etmek için SQLCancel kullanımını zorunlu kılmaz. Sürücünün aynı anda bağımsız etkinlikler yürütmesi için platformun veya ODBC sürücüsünün çoklu iş parçacığına sahip olması gerekmez. Ancak, çok iş parçacıklı ortamlarda ODBC sürücüsünün iş parçacığı güvenli olması gerekir. Uygulamadan gelen isteklerin seri hale getirilmesi, ciddi performans sorunları oluştursa bile bu belirtimi uygulamanın uyumlu bir yoludur.

  • SQLSpecialColumns çağrısı yaparak SQL_BEST_ROWID satır tanımlayan tablo sütununu alın. (SQL_ROWVER desteği, Düzey 2 Arabirim Uyumluluğu kapsamında özellik 208'dir.)

    Önemli

    ODBC Sürücüleri, işlevleri Çekirdek arabirimi uyumluluk düzeyinde uygulamalıdır.