Udostępnij przez


Zgodność interfejsu podstawowego

Wszystkie sterowniki ODBC muszą mieć co najmniej zgodność interfejsu podstawowego. Ponieważ funkcje na poziomie Core są wymagane przez większość ogólnych aplikacji współdziałających, sterownik może pracować z takimi aplikacjami. Funkcje na poziomie podstawowym odpowiadają również funkcjom zdefiniowanym w specyfikacji CLI ISO i nieopcjonalnym funkcjom zdefiniowanym w specyfikacji CLI Open Group. Sterownik ODBC zgodny z interfejsem na poziomie rdzenia umożliwia aplikacji wykonywanie wszystkich następujących czynności:

  • Przydzielanie i zwalnianie wszystkich typów dojść przez wywołanie metody SQLAllocHandle i SQLFreeHandle.

  • Użyj wszystkich formularzy funkcji SQLFreeStmt .

  • Powiąż kolumny zestawu wyników, wywołując metodę SQLBindCol.

  • Obsługa parametrów dynamicznych, w tym tablic parametrów, tylko w kierunku wejściowym, przez wywołanie parametrów SQLBindParameter i SQLNumParams. (Parametry w kierunku wyjściowym są cechą 203 w zgodności interfejsu poziomu 2.)

  • Określ offset powiązania.

  • Użyj okna dialogowego data-at-execution obejmującego wywołania SQLParamData i SQLPutData.

  • Zarządzaj kursorami i nazwami kursorów, wywołując metody SQLCloseCursor, SQLGetCursorName i SQLSetCursorName.

  • Uzyskaj dostęp do opisu (metadanych) zestawów wyników, wywołując atrybuty SQLColAttribute, SQLDescribeCol, SQLNumResultCols i SQLRowCount. (Używanie tych funkcji na numerze kolumny 0 do pobierania metadanych zakładki jest funkcją 204 w zgodności interfejsu poziomu 2).

  • Wykonaj zapytanie względem słownika danych, wywołując funkcje wykazu SQLColumns, SQLGetTypeInfo, SQLStatistics i SQLTables.

    Sterownik nie jest wymagany do obsługi nazw wieloczęściowych tabel i widoków bazy danych. (Aby uzyskać więcej informacji, zobacz funkcję 101 w Zgodność interfejsu poziomu 1 i funkcję 201 w Zgodność interfejsu poziomu 2.) Jednak niektóre funkcje specyfikacji SQL-92, takie jak kwalifikacje kolumn i nazwy indeksów, są składniowo porównywalne z nazewnictwem wieloczęściowym. Obecna lista funkcji ODBC nie ma na celu wprowadzenia nowych opcji w tych aspektach programu SQL-92.

  • Zarządzanie źródłami danych i połączeniami przez wywołanie poleceń SQLConnect, SQLDataSources, SQLDisconnect i SQLDriverConnect. Uzyskaj informacje na temat sterowników, niezależnie od tego, który poziom ODBC obsługuje, wywołując usługę SQLDrivers.

  • Przygotuj i wykonaj instrukcje SQL, wywołując sqlExecDirect, SQLExecute i SQLPrepare.

  • Pobierz jeden wiersz zestawu wyników lub wiele wierszy, tylko w kierunku do przodu, wywołując SQLFetch lub SQLFetchScroll z argumentem FetchOrientation ustawionym na SQL_FETCH_NEXT.

  • Uzyskaj niezwiązaną kolumnę w części, wywołując metodę SQLGetData.

  • Uzyskaj bieżące wartości wszystkich atrybutów, wywołując metodę SQLGetConnectAttr, SQLGetEnvAttr i SQLGetStmtAttr, a następnie ustaw wszystkie atrybuty na ich wartości domyślne i ustaw określone atrybuty na wartości inne niż domyślne, wywołując metodę SQLSetConnectAttr, SQLSetEnvAttr i SQLSetStmtAttr.

  • Manipulowanie niektórymi polami deskryptorów przez wywołanie poleceń SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescField i SQLSetDescRec.

  • Uzyskaj informacje diagnostyczne, wywołując polecenia SQLGetDiagField i SQLGetDiagRec.

  • Wykrywanie możliwości sterowników przez wywołanie funkcji SQLGetFunctions i SQLGetInfo. Ponadto wykryj wynik wszelkich podstawień tekstu wykonanych w instrukcji SQL, zanim zostanie wysłany do źródła danych, wywołując sqlNativeSql.

  • Użyj składni sqlEndTran , aby zatwierdzić transakcję. Sterownik na poziomie podstawowym nie musi obsługiwać prawdziwych transakcji; w związku z tym aplikacja nie może określić SQL_ROLLBACK ani SQL_AUTOCOMMIT_OFF atrybutu połączenia SQL_ATTR_AUTOCOMMIT. (Aby uzyskać więcej informacji, zobacz feature 109 in Level 2 Interface Conformance (Zgodność interfejsu poziomu 2).

  • Wywołaj metodę SQLCancel, aby anulować dialog w trakcie wykonywania danych oraz, w środowiskach wielowątkowych, aby anulować funkcję ODBC, która jest wykonywana w innym wątku. Zgodność interfejsu na poziomie podstawowym nie wymaga obsługi asynchronicznego wykonywania funkcji ani używania programu SQLCancel do anulowania funkcji ODBC wykonywanej asynchronicznie. Ani platforma, ani sterownik ODBC nie muszą być wielowątkowe, aby kierowca prowadził niezależne działania w tym samym czasie. Jednak w środowiskach wielowątków sterownik ODBC musi być bezpieczny wątkowo. Serializacja żądań z aplikacji jest zgodnym sposobem implementacji tej specyfikacji, mimo że może to powodować poważne problemy z wydajnością.

  • Uzyskaj kolumnę identyfikującą wiersz SQL_BEST_ROWID dla tabel, wywołując funkcję SQLSpecialColumns. (Obsługa SQL_ROWVER to funkcja numer 208 w Zgodności Interfejsu Poziomu 2.)

    Ważne

    Sterowniki ODBC muszą implementować funkcje na poziomie zgodności interfejsu podstawowego.