Sdílet prostřednictvím


Shoda jádra rozhraní

Všechny ovladače ODBC musí vykazovat aspoň shodu rozhraní na úrovni Jádra. Vzhledem k tomu, že funkce na úrovni Jádra jsou ty, které vyžadují většina obecných interoperabilních aplikací, může ovladač s těmito aplikacemi pracovat. Funkce na úrovni Jádra také odpovídají funkcím definovaným ve specifikaci ROZHRANÍ příkazového řádku ISO a neoptionalním funkcím definovaným ve specifikaci rozhraní příkazového řádku open group. Ovladač ODBC na úrovni jádra umožňuje aplikaci provádět všechny následující akce:

  • Přidělujte a uvolňujte všechny typy popisovačů voláním SQLAllocHandle a SQLFreeHandle.

  • Použijte všechny formy funkce SQLFreeStmt .

  • Propojte sloupce sady výsledků voláním SQLBindCol.

  • Zpracování dynamických parametrů včetně polí parametrů pouze ve vstupním směru voláním SQLBindParameter a SQLNumParams. (Parametry ve výstupním směru jsou prvek 203 v shodě s rozhraním úrovně 2.)

  • Zadejte posun vazby.

  • Použijte dialogové okno data-at-execution zahrnující volání SQLParamData a SQLPutData.

  • Spravujte kurzory a názvy kurzorů voláním sqlCloseCursor, SQLGetCursorName a SQLSetCursorName.

  • Získejte přístup k popisu (metadata) sad výsledků voláním SQLColAttribute, SQLDescribeCol, SQLNumResultCols a SQLRowCount. (Použití těchto funkcí u sloupce číslo 0 k načtení metadat záložek je funkce 204 v konformitě s rozhraním úrovně 2.)

  • Dotazujte datový slovník voláním funkcí katalogu SQLColumns, SQLGetTypeInfo, SQLStatistics a SQLTables.

    Ovladač není nutný k podpoře vícedílných názvů databázových tabulek a zobrazení. (Další informace naleznete v článku 101 v souladu s rozhraním úrovně 1 a funkce 201 v souladu s rozhraním úrovně 2.) Některé funkce specifikace SQL-92, jako jsou kvalifikace sloupců a názvy indexů, jsou však syntakticky srovnatelné s pojmenováním s více částmi. Aktuální seznam funkcí ODBC není určen k zavedení nových možností do těchto aspektů SQL-92.

  • Spravujte zdroje dat a připojení voláním SQLConnect, SQLDataSources, SQLDisconnect a SQLDriverConnect. Získejte informace o ovladačích bez ohledu na úroveň ODBC, kterou podporují, voláním SQLDrivers.

  • Připravte a spusťte příkazy SQL voláním SQLExecDirect, SQLExecute a SQLPrepare.

  • Načtěte jeden řádek sady výsledků nebo více řádků pouze ve směru vpřed voláním sqlFetch nebo voláním sqlFetchScroll s argumentem FetchOrientation nastaveným na SQL_FETCH_NEXT.

  • Získání nevázaného sloupce v částech voláním SQLGetData

  • Získejte aktuální hodnoty všech atributů voláním SQLGetConnectAttr, SQLGetEnvAttr a SQLGetStmtAttr a nastavit všechny atributy na jejich výchozí hodnoty a nastavit určité atributy na nedefault hodnoty voláním SQLSetConnectAttr, SQLSetEnvAttr a SQLSetStmtAttr.

  • Manipulovat s určitými poli popisovačů voláním SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescField a SQLSetDescRec.

  • Získejte diagnostické informace voláním SQLGetDiagField a SQLGetDiagRec.

  • Rozpoznávání schopností ovladačů voláním SQLGetFunctions a SQLGetInfo Pomocí volání SQLNativeSql také detekujte výsledek nahrazení textu provedeného v příkazu SQL před odesláním do zdroje dat.

  • K potvrzení transakce použijte syntaxi SQLEndTran . Ovladač na úrovni jádra nemusí podporovat skutečné transakce; aplikace proto nemůže zadat SQL_ROLLBACK ani SQL_AUTOCOMMIT_OFF pro atribut připojení SQL_ATTR_AUTOCOMMIT. " (Další informace naleznete u funkce 109 v dokumentu Level 2 Interface Conformance.)

  • Zavolejte SQLCancel pro zrušení dialogového okna data-at-execution a v prostředích s více vlákny pro zrušení vykonávání funkce ODBC v jiném vlákně. Shoda rozhraní na úrovni jádra nepodporuje asynchronní spouštění funkcí ani použití sqlCancelu ke zrušení funkce ODBC, která se spouští asynchronně. Platforma ani ovladač ODBC nemusí být vícevláknový, aby ovladač prováděl nezávislé aktivity současně. V prostředích s více vlákny však musí být ovladač ODBC bezpečný pro přístup z více vláken. Serializace požadavků z aplikace je vyhovující způsob implementace této specifikace, i když může způsobit vážné problémy s výkonem.

  • Získejte sloupec SQL_BEST_ROWID, který identifikuje řádky tabulek, voláním SQLSpecialColumns. (Podpora SQL_ROWVER je funkce 208 v souladu s rozhraním úrovně 2.)

    Důležité

    Ovladače ODBC musí implementovat funkce na úrovni shody rozhraní Core.