Come impostare il livello di isolamento in ODBC

November 4

Come impostare il livello di isolamento in ODBC


Open Database Connectivity (ODBC) è un framework che fornisce una Application Programming Interface (API) per consentire l'accesso indipendente dalla piattaforma per i dati memorizzati in sistemi di database eterogenei. Livelli di isolamento delle transazioni preservare l'integrità dei dati nei sistemi di gestione di database, controllando l'accesso ai dati simultaneo. È possibile accedere alla API ODBC direttamente attraverso diversi linguaggi e applicazioni di programmazione. ODBC consente per cinque livelli di isolamento delle transazioni: SQL_TXN_READ_UNCOMMITTED, SQL_TXN_READ_COMMITTED, SQL_TXN_REPEATABLE_READ, SQL_TXN_SERIALIZABLE e SQL_TXN_VERSIONING. I primi quattro restringere concorrenza per preservare l'integrità dei dati, mentre SQL_TXN_VERSIONING ha meno impatto sulla concorrenza. È possibile impostare il livello di isolamento con la funzione "SQLSetConnectAttr" nella fase iniziale del programma.

istruzione

Configurazione

1 Avviare l'applicazione editor di linguaggio di programmazione cliccando su "Start". Selezionare "Tutti i programmi", quindi selezionare l'applicazione dal menu.

2 Avviare un nuovo progetto selezionando - sotto il menu "File" - ". Progetto" "Nuovo" e quindi si potrebbe scegliere il tipo di progetto richiesto dalle opzioni. Per Visual C ++ o Visual Basic, si dovrebbe scegliere "Applicazione Windows".

3 Digitare un nome per il progetto e fare clic su "Salva".

Processo

4 Assegnare le maniglie necessarie. Innanzitutto è necessario inizializzare l'ambiente ODBC e allocare la maniglia ambiente prima di poter effettuare chiamate verso gli elementi della API ODBC. È necessario dichiarare una variabile di tipo "SQLHENV" o "SQLHANDLE" a seconda del linguaggio di programmazione, e passarlo alla funzione "SQLAllocHandle". Secondo MSDN, la sintassi corretta è:

SQLRETURN SQLAllocHandle (

SQLSMALLINT HandleType,
SQLHANDLE InputHandle,
SQLHANDLE * OutputHandlePtr);

Ad esempio, questo è come si implementa in Visual C ++:

SQLHANDLE OdbcEnvironmentVariable;

SQLRETURN SQLReturnVariable;

SQLReturnVariable = SQLAllocHandle (SQL_HANDLE_ENV, SQL_NULL_HANDLE, e OdbcEnvironmentVariable);

5 Impostare gli attributi ambiente richieste. È necessario impostare l'attributo di ambiente ODBC utilizzando la funzione SQLSetEnvAttr (). Questo dirà l'applicazione quale versione di ODBC che si sta utilizzando. La sintassi è:

SQLRETURN SQLSetEnvAttr (

SQLHENV EnvironmentHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength);

Ad esempio, per impostare l'ambiente di ODBC 3.0 in C ++ visivo, digitare:

SQLReturnVariable = SQLSetEnvAttr (OdbcEnvironmentVariable, SQL_ATTR_ODBC_VERSION,

(SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);

6 Allocare l'handle di connessione. È necessario impostare un handle di connessione per abilitare l'applicazione per la connessione al database. È necessario dichiarare una variabile di tipo "SQLHDBC" o "SQLHANDLE" e passare alla funzione "SQLAllocHandle" con un "HandleType" di Ad esempio, "SQL_HANDLE_DBC.":

SQLHANDLE DBConnectionHandle;

SQLReturnVariable = SQLAllocHandle (SQL_HANDLE_DBC, OdbcEnvironmentVariable, e DBConnectionHandle)

7 Stabilire una connessione e impostare gli attributi di connessione. È possibile impostare il livello di isolamento delle transazioni, a questo punto, utilizzando la funzione "SQLSetConnectAttr". La sintassi è:

SQLRETURN SQLSetConnectAttr (

SQLHDBC ConnectionHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength);

Si imposta il "attributo" a "SQL_ATTR_TXN_ISOLATION" e la "ValuePtr" per SQL_TXN_READ_UNCOMMITTED, SQL_TXN_READ_COMMITTED, SQL_TXN_REPEATABLE_READ o SQL_TXN_SERIALIZABLE, a seconda del livello di isolamento della transazione richiesta. Per esempio:

SQLReturnVariable = SQLSetConnectAttr (DBConnectionHandle, SQL_ATTR_TXN_ISOLATION, SQL_TXN_READ_UNCOMMITTED, 0);