Conformità di interfaccia Core

Tutti i driver ODBC devono presentare almeno la conformità dell'interfaccia a livello Core. Poiché le funzionalità del livello Core sono quelle richieste dalla maggior parte delle applicazioni interoperabili generiche, il driver può funzionare con tali applicazioni. Le funzionalità del livello Core corrispondono anche alle funzionalità definite nella specifica dell'interfaccia della riga di comando ISO e alle funzionalità non facoltative definite nella specifica dell'interfaccia della riga di comando Open Group. Un driver ODBC conforme all'interfaccia di base consente all'applicazione di eseguire tutte le operazioni seguenti:

  • Allocare e liberare tutti i tipi di handle chiamando SQLAllocHandle e SQLFreeHandle.

  • Usare tutte le forme della funzione SQLFreeStmt.

  • Associare le colonne del set di risultati chiamando SQLBindCol.

  • Gestire i parametri dinamici, incluse le matrici di parametri, solo nella direzione di input, chiamando SQLBindParameter e SQLNumParams. I parametri nella direzione di output sono funzionalità 203 in Conformità dell'interfaccia di livello 2.

  • Specificare un offset di associazione.

  • Usare la finestra di dialogo data-at-execution, che include chiamate a SQLParamData e SQLPutData.

  • Gestire cursori e nomi cursore chiamando SQLCloseCursor, SQLGetCursorName e SQLSetCursorName.

  • Ottenere l'accesso alla descrizione (metadati) dei set di risultati chiamando SQLColAttribute, SQLDescribeCol, SQLNumResultCols e SQLRowCount. L'uso di queste funzioni sul numero di colonna 0 per recuperare i metadati dei segnalibri è la funzionalità 204 in Conformità dell'interfaccia di livello 2.

  • Eseguire query sul dizionario dei dati chiamando le funzioni catalogo SQLColumns, SQLGetTypeInfo, SQLStatistics e SQLTables.

    Il driver non è necessario per supportare nomi multipart di tabelle e viste di database. Per altre informazioni, vedere la funzionalità 101 in Conformità dell'interfaccia di livello 1 e la funzionalità 201 in Conformità dell'interfaccia di livello 2. Tuttavia, alcune funzionalità della specifica SQL-92, ad esempio la qualificazione delle colonne e i nomi degli indici, sono sintatticamente paragonabili alla denominazione multipart. L'elenco corrente delle funzionalità ODBC non prevede l'introduzione di nuove opzioni in questi aspetti di SQL-92.

  • Gestire origini dati e connessioni chiamando SQLConnect, SQLDataSources, SQLDisconnect e SQLDriverConnect. Ottenere informazioni sui driver, indipendentemente dal livello ODBC supportato, chiamando SQLDrivers.

  • Preparare ed eseguire istruzioni SQL chiamando SQLExecDirect, SQLExecute e SQLPrepare.

  • Recuperare una riga di un set di risultati o più righe, solo nella direzione avanti, chiamando SQLFetch o chiamando SQLFetchScroll con l'argomento FetchOrientation impostato su SQL_FETCH_NEXT.

  • Ottenere una colonna non associata in parti chiamando SQLGetData.

  • Ottenere i valori correnti di tutti gli attributi chiamando SQLGetConnectAttr, SQLGetEnvAttr e SQLGetStmtAttr e impostando tutti gli attributi su valori predefiniti e impostando determinati attributi su valori non predefiniti chiamando SQLSetConnectAttr, SQLSetEnvAttr e SQLSetStmtAttr.

  • Modificare determinati campi dei descrittori chiamando SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescField e SQLSetDescRec.

  • Ottenere informazioni di diagnostica chiamando SQLGetDiagField e SQLGetDiagRec.

  • Rilevare le funzionalità del driver chiamando SQLGetFunctions e SQLGetInfo. Rilevare anche il risultato di eventuali sostituzioni di testo effettuate su un'istruzione SQL prima dell'invio all'origine dati chiamando SQLNativeSql.

  • Usare la sintassi di SQLEndTran per eseguire il commit di una transazione. Un driver a livello di core non ha bisogno di supportare le transazioni vere; pertanto, l'applicazione non può specificare SQL_ROLLBACK né SQL_AUTOCOMMIT_OFF per l'attributo di connessione SQL_ATTR_AUTOCOMMIT. (Per ulteriori informazioni, vedere la funzionalità 109 in Conformità di interfaccia di livello 2.)

  • Chiamare SQLCancel per annullare la finestra di dialogo data-at-execution e, in ambienti multithread, per annullare l'esecuzione di una funzione ODBC in un altro thread. La conformità dell'interfaccia a livello di Core non impone il supporto per l'esecuzione asincrona di funzioni, né l'uso di SQLCancel per annullare l'esecuzione asincrona di una funzione ODBC. Né la piattaforma né il driver ODBC devono essere multithread per consentire al driver di eseguire attività indipendenti contemporaneamente. Negli ambienti multithread, tuttavia, il driver ODBC deve essere thread-safe. La serializzazione delle richieste dell'applicazione è un modo conforme per implementare questa specifica, anche se potrebbe creare gravi problemi di prestazioni.

  • Ottenere la colonna di identificazione delle righe SQL_BEST_ROWID delle tabelle chiamando SQLSpecialColumns. (Il supporto per SQL_ROWVER è la funzionalità 208 in Conformità di interfaccia di livello 2.)

    Importante

    I driver ODBC devono implementare le funzioni nel livello di conformità di interfaccia Core.