Delen via


Naleving van essentiële interface

Alle ODBC-stuurprogramma's moeten ten minste voldoen aan de interface-conformiteit op coreniveau. Omdat de functies op coreniveau de functies zijn die vereist zijn voor de meeste algemene interoperabele toepassingen, kan het stuurprogramma met dergelijke toepassingen werken. De functies op het kernniveau komen ook overeen met de functies die zijn gedefinieerd in de ISO CLI-specificatie en met de niet-optionele functies die zijn gedefinieerd in de Open Group CLI-specificatie. Met een INTERFACE-conform ODBC-stuurprogramma op coreniveau kan de toepassing het volgende doen:

  • Wijs alle typen verwijzers toe en maak ze vrij door SQLAllocHandle en SQLFreeHandle aan te roepen.

  • Gebruik alle vormen van de functie SQLFreeStmt .

  • Bind resultatensetkolommen door SQLBindCol aan te roepen.

  • Gebruik dynamische parameters, inclusief reeksen van parameters, alleen in de invoerrichting door SQLBindParameter en SQLNumParams aan te roepen. "Parameters in de richting van de uitgang zijn kenmerk 203 in Interface-conformiteit Niveau 2."

  • Geef een bind-offset op.

  • Gebruik het dialoogvenster voor gegevens bij uitvoering, met aanroepen naar SQLParamData en SQLPutData.

  • Beheer cursors en cursornamen door SQLCloseCursor, SQLGetCursorName en SQLSetCursorName aan te roepen.

  • Krijg toegang tot de beschrijving (metagegevens) van resultatensets door SQLColAttribute, SQLDescribeCol, SQLNumResultCols en SQLRowCount aan te roepen. (Gebruik van deze functies op kolomnummer 0 om metagegevens van bladwijzers op te halen is functie 204 in interface-overeenstemming op niveau 2.)

  • Voer een query uit voor de gegevenswoordenlijst door de catalogusfuncties SQLColumns, SQLGetTypeInfo, SQLStatistics en SQLTables aan te roepen.

    Het stuurprogramma is niet vereist om namen van databasetabellen en weergaven met meerdere onderdelen te ondersteunen. (Zie functie 101 in interfaceconformance op niveau 1 en functie 201 in interfaceconformance op niveau 2 voor meer informatie.) Bepaalde functies van de SQL-92-specificatie, zoals kolomkwalificatie en namen van indexen, zijn echter syntactisch vergelijkbaar met naamgeving met meerdere onderdelen. De huidige lijst met ODBC-functies is niet bedoeld om nieuwe opties te introduceren in deze aspecten van SQL-92.

  • Beheer gegevensbronnen en verbindingen door SQLConnect, SQLDataSources, SQLDisconnect en SQLDriverConnect aan te roepen. Verkrijg informatie over stuurprogramma's, ongeacht het ODBC-niveau dat ze ondersteunen, door SQLDrivers aan te roepen.

  • Sql-instructies voorbereiden en uitvoeren door SQLExecDirect, SQLExecute en SQLPrepare aan te roepen.

  • Haal één rij of meerdere rijen van een resultatenset op in voorwaartse richting door SQLFetch te gebruiken of door SQLFetchScroll te gebruiken met FetchOrientation ingesteld op SQL_FETCH_NEXT.

  • Haal een niet-afhankelijke kolom in delen op door SQLGetData aan te roepen.

  • Haal de huidige waarden van alle kenmerken op door SQLGetConnectAttr, SQLGetEnvAttr en SQLGetStmtAttr aan te roepen, en alle kenmerken in te stellen op hun standaardwaarden en bepaalde kenmerken in te stellen op niet-standaardwaarden door SQLSetConnectAttr, SQLSetEnvAttr en SQLSetStmtAttr aan te roepen.

  • Bewerk bepaalde velden van descriptors door SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescField en SQLSetDescRec aan te roepen.

  • Verkrijg diagnostische gegevens door SQLGetDiagField en SQLGetDiagRec aan te roepen.

  • Detecteer stuurprogrammamogelijkheden door SQLGetFunctions en SQLGetInfo aan te roepen. Detecteer ook het resultaat van eventuele tekstvervangingen in een SQL-instructie voordat deze naar de gegevensbron wordt verzonden door SQLNativeSql aan te roepen.

  • Gebruik de syntaxis van SQLEndTran om een transactie door te voeren. Een stuurprogramma op kernniveau hoeft geen echte transacties te ondersteunen; Daarom kan de toepassing geen SQL_ROLLBACK of SQL_AUTOCOMMIT_OFF opgeven voor het SQL_ATTR_AUTOCOMMIT verbindingskenmerk. (Zie functie 109 in interface-overeenstemming op niveau 2 voor meer informatie.)

  • Roep SQLCancel aan om het dialoogvenster gegevens bij uitvoering te annuleren en, in omgevingen met meerdere threads, een ODBC-functie te annuleren die in een andere thread wordt uitgevoerd. Interface-conformiteit op kernniveau vereist geen ondersteuning voor asynchrone uitvoering van functies, noch het gebruik van SQLCancel om een ODBC-functie die asynchroon wordt uitgevoerd, te annuleren. Het platform noch het ODBC-stuurprogramma hoeft multithreaded te zijn om tegelijkertijd onafhankelijke activiteiten uit te voeren. In omgevingen met meerdere threads moet het ODBC-stuurprogramma echter thread-safe zijn. Serialisatie van aanvragen van de toepassing is een conforme manier om deze specificatie te implementeren, ook al kan het ernstige prestatieproblemen veroorzaken.

  • Haal de SQL_BEST_ROWID rij-identificatiekolom van tabellen op door SQLSpecialColumns aan te roepen. (Ondersteuning voor SQL_ROWVER is functie 208 in Level 2 Interface Conformance.)

    Belangrijk

    ODBC-stuurprogramma's moeten in het conformiteitsniveau van de Core-interface de functies implementeren.