Tecnología

Inicio

Cómo establecer el nivel de aislamiento en ODBC

Cómo establecer el nivel de aislamiento en ODBC


Conectividad abierta de bases de datos (ODBC) es un marco que proporciona una interfaz de programación de aplicaciones (API) para permitir el acceso independiente de la plataforma para los datos almacenados en sistemas de bases heterogéneos. Los niveles de aislamiento de transacciones preservar la integridad de datos en sistemas de gestión de base de datos mediante el control de acceso a los datos concurrentes. Puede acceder a la API de ODBC directamente a través de varios lenguajes de programación y aplicaciones. ODBC permite cinco niveles de aislamiento de transacción: SQL_TXN_READ_UNCOMMITTED, SQL_TXN_READ_COMMITTED, SQL_TXN_REPEATABLE_READ, SQL_TXN_SERIALIZABLE y SQL_TXN_VERSIONING. El primero de cuatro restringir concurrencia con el fin de preservar la integridad de los datos, mientras que SQL_TXN_VERSIONING tiene menos impacto en la concurrencia. Se establece el nivel de aislamiento mediante la función "SQLSetConnectAttr" en la etapa inicial del programa.

Instrucciones

Configuración

1 Iniciar la aplicación editor de lenguaje de programación, haga clic en "Inicio". Seleccione "Todos los programas", luego seleccione la aplicación desde el menú.

2 Iniciar un nuevo proyecto seleccionando - en el menú "Archivo" - ". Proyecto" "Nuevo" y A continuación, elija el tipo de proyecto correspondiente de las opciones. Para Visual C ++ o Visual Basic, elegiría "Aplicación de Windows."

3 Escriba un nombre para el proyecto y haga clic en "Guardar".

Proceso

4 Asignar los mangos requeridos. Primero tiene que inicializar el entorno de ODBC y asignar el identificador de entorno antes de poder realizar ninguna llamada a elementos de la API de ODBC. Es necesario declarar una variable de tipo "SQLHENV" o "SQLHANDLE" dependiendo de su lenguaje de programación, y pasarlo a la función "SQLAllocHandle". De acuerdo con MSDN, la sintaxis correcta es:

SQLRETURN SQLAllocHandle (

SQLSMALLINT HandleType,
SQLHANDLE InputHandle,
SQLHANDLE * OutputHandlePtr);

Por ejemplo, así es como se llevaría a cabo en Visual C ++:

SQLHANDLE OdbcEnvironmentVariable;

SQLRETURN SQLReturnVariable;

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

5 Establecer los atributos de entorno necesarias. Es necesario establecer el atributo de entorno de ODBC mediante la función SQLSetEnvAttr (). Esto le indicará a la aplicación de la versión de ODBC que está utilizando. La sintaxis es la siguiente:

SQLRETURN SQLSetEnvAttr (

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

Por ejemplo, para establecer el entorno para ODBC 3.0 utilizando Visual C ++, debe escribir:

SQLReturnVariable = SQLSetEnvAttr (OdbcEnvironmentVariable, SQL_ATTR_ODBC_VERSION,

(SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);

6 Asignar el identificador de conexión. Es necesario establecer un identificador de conexión para permitir la aplicación para conectarse a la base de datos. Es necesario declarar una variable de tipo "SQLHDBC" o "SQLHANDLE" y pasarlo a la función "SQLAllocHandle" con un "HandleType" de, por ejemplo "SQL_HANDLE_DBC.":

SQLHANDLE DBConnectionHandle;

SQLReturnVariable = SQLAllocHandle (SQL_HANDLE_DBC, OdbcEnvironmentVariable, y DBConnectionHandle)

7 Establecer una conexión y configurar los atributos de conexión. Se establece el nivel de aislamiento de transacción en este punto, usando la función "SQLSetConnectAttr". La sintaxis es la siguiente:

SQLRETURN SQLSetConnectAttr (

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

Se establece el "Atributo" a "SQL_ATTR_TXN_ISOLATION" y el "ValuePtr" para SQL_TXN_READ_UNCOMMITTED, SQL_TXN_READ_COMMITTED, SQL_TXN_REPEATABLE_READ o SQL_TXN_SERIALIZABLE, dependiendo del nivel de aislamiento requerido. Por ejemplo:

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