Compartir a través de


Origen de datos: Administrar conexiones (ODBC)

Este tema es aplicable a las clases ODBC de MFC.

En este tema se explica:

La conexión a un origen de datos significa establecer comunicaciones con DBMS para acceder a los datos. Cuando se conecta a un origen de datos desde una aplicación a través de un controlador ODBC, el controlador realiza la conexión localmente o a través de una red.

Puede conectarse a cualquier origen de datos para el que tenga un controlador ODBC. Los usuarios de la aplicación también deben tener el mismo controlador ODBC para su origen de datos. Para obtener más información sobre cómo redistribuir controladores ODBC, vea Redistribuir componentes ODBC a los clientes.

Configuración de un origen de datos

El administrador de ODBC se usa para configurar los orígenes de datos. También puede usar el administrador de ODBC después de la instalación para agregar o quitar orígenes de datos. Al crear aplicaciones, puede dirigir a los usuarios al administrador de ODBC para permitirles agregar orígenes de datos, o puede crear esta funcionalidad en la aplicación realizando llamadas directas a la instalación de ODBC. Para obtener más información, vea Administrador de ODBC.

Puede usar un archivo de Excel como origen de datos, y debe configurar el archivo para que esté registrado y aparezca en el cuadro de diálogo Seleccionar origen de datos.

Para usar un archivo de Excel como origen de datos

  1. Configure el archivo con el administrador de orígenes de datos de ODBC.

  2. En la pestaña DSN de archivo, haga clic en Agregar.

  3. En el cuadro de diálogo Crear nuevo origen de datos, seleccione un controlador de Excel y, a continuación, haga clic en Siguiente.

  4. Haga clic en Examinar y seleccione el nombre del archivo que se usará como origen de datos.

Nota:

Es posible que tenga que seleccionar Todos los archivos en el menú desplegable para ver los archivos .xls.

  1. Haga clic en Siguiente y después en Finalizar.

  2. En el cuadro de diálogo Configuración de ODBC de Microsoft Excel, seleccione la versión de la base de datos y el libro.

Trabajo en un entorno multiusuario

Si varios usuarios están conectados a un origen de datos, pueden cambiar los datos mientras lo manipula en los conjuntos de registros. Del mismo modo, los cambios pueden afectar a los conjuntos de registros de otros usuarios. Para obtener más información, vea Conjunto de registros: Cómo los conjuntos de registros actualizan los registros (ODBC) y Transacción (ODBC).

Generalización de la cadena de conexión

Los asistentes usan una cadena de conexión predeterminada para establecer una conexión a un origen de datos. Esta conexión se usa para ver tablas y columnas mientras desarrolla la aplicación. Sin embargo, es posible que esta cadena de conexión predeterminada no sea adecuada para las conexiones de los usuarios al origen de datos a través de la aplicación. Por ejemplo, su origen de datos y la ruta de acceso a su ubicación pueden ser diferentes de las usadas en el desarrollo de la aplicación. En ese caso, debe volver a implementar la función miembro CRecordset::GetDefaultConnect de forma más genérica y descartar la implementación del asistente. Por ejemplo, use uno de los enfoques siguientes:

  • Registre y administre las cadenas de conexión mediante el Administrador de ODBC.

  • Edite la cadena de conexión y quite el nombre del origen de datos. El marco proporciona ODBC como origen de datos; en el entorno de ejecución, ODBC muestra un cuadro de diálogo que solicita el nombre del origen de datos y cualquier otra información de conexión necesaria.

  • Proporcione solo el nombre del origen de datos. ODBC solicita el identificador de usuario y la contraseña, si es necesario. Por ejemplo, antes de generalizar, la cadena de conexión tiene este aspecto:

    CString CApp1Set::GetDefaultConnect()
    {
       return "ODBC;DSN=afx;Trusted_Connection=Yes;";
    }
    

    Esta cadena de conexión especifica una conexión de confianza, que usa la seguridad integrada de Windows NT. Debe evitar codificar de forma rígida una contraseña o especificar una contraseña en blanco, ya que, de esta manera, se crea un punto débil de seguridad importante. En su lugar, puede proporcionar GetDefaultConnect una nueva cadena de conexión para que consulte un identificador de usuario y una contraseña.

    // User must select data source and supply user ID and password:
        return "ODBC;";
    // User ID and password required:
        return "ODBC;DSN=mydb;";
    // Password required (myuserid must be replaced with a valid user ID):
        return "ODBC;DSN=mydb;UID=myuserid;";
    // Hard-coded user ID and password (SECURITY WEAKNESS--AVOID):
        return "ODBC;DSN=mydb;UID=sa;PWD=777;";
    

Conexión a un origen de datos específico

Para conectarse a un origen de datos específico, el origen de datos ya debe estar configurado con el Administrador ODBC.

Para conectarse a un origen de datos específico

  1. Cree un objeto CDatabase.

  2. Llame a su función miembro OpenEx o Open.

Para obtener más información sobre cómo especificar el origen de datos si es algo distinto del especificado con un asistente, consulte CDatabase::OpenEx o CDatabase::Open en la referencia de MFC.

Desconectarse de un origen de datos

Debe cerrar los conjuntos de registros abiertos antes de llamar a la función miembro Close de CDatabase. En los conjuntos de registros asociados al objeto CDatabase que desea cerrar, se cancelan las instrucciones pendientes AddNew o Edit y se revierten todas las transacciones pendientes.

Para desconectar de un origen de datos

  1. Llame a la función miembro CDatabaseClose del objeto .

  2. Destruye el objeto a menos que quiera reutilizarlo.

Reutilización de un objeto CDatabase

Puede reutilizar un objeto CDatabase después de desconectarlo, ya sea que se use para volver a conectarlo al mismo origen de datos o para conectarlo a otro origen de datos.

Para reutilizar un objeto CDatabase

  1. Cierre la conexión original del objeto.

  2. En lugar de destruir el objeto, vuelva a llamar a su función miembro OpenEx o Open.

Consulte también

Origen de datos (ODBC)
Origen de datos: Determinar el esquema del origen de datos (ODBC)
CRecordset (clase)