Cómo utilizar conexiones de ODBC "Sin DSN" con RDO y DAO

Seleccione idioma Seleccione idioma
Id. de artículo: 147875 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Con las versiones 4.0, 5.0 y 6.0 para Windows de Microsoft Visual Basic, puede especificar el controlador ODBC (Open Database Connectivity) y el servidor en la cadena de conexión cuando se utiliza RDO (Remote Data Object) y DAO (objetos de acceso de datos) que elimina la necesidad de configurar un DSN (nombre de origen de datos). Llamamos a esta una conexión "DSN-menos" ODBC ya no es necesario configurar un DSN para acceso al servidor de base de datos ODBC.

Para ello, especifique un "controlador = servidor"y"=" parámetro en la cadena de conexión como en el ejemplo siguiente.

Nota Debe cambiar el nombre de usuario = <username> y PWD = < contraseña > a los valores correctos antes de ejecutar este código. Asegúrese de que nombre de usuario tiene los permisos adecuados realizar esta operación en la base de datos.
   cnstr = "driver={SQL Server};server=myserver;" & _
     "database=mydb;Username=<username>;PWD=<strong password>;dsn=;"
   Set cn = en.OpenConnection("", False, False, cnstr)
				

Nota: El nombre de controlador debe estar encerrado llaves. Por ejemplo: "{SQL Server}".

(Advertencia: conexiones sin DSN no funcionará en Visual Basic 4.0 de 16 bits. Si se intenta utilizarlos obtendrá un error de protección general en el módulo ODBC.DLL en 0006:080F.)

Más información

En Microsoft Visual Basic versión 3.0 para Windows, tenía que crear un DSN que agregó un paso adicional al distribuir la aplicación porque tenía cada estación de trabajo para que el DSN creado para tener acceso el servidor especificado y la base de datos. Esto se hizo o manualmente con la utilidad Administrador de ODBC, mediante código con la función RegisterDatabase o mediante código con la función API SQLConfigDatasource. Para obtener información adicional acerca de cómo realizar manualmente esta configuración, consulte los artículos siguientes en Microsoft Knowledge Base:
TITLE 123008: cómo establecer orígenes de datos ODBC al distribuir una aplicación

126940: RegisterDatabase error después de la versión ODBC 2.x instalado

132329: método RegisterDatabase no modificar el archivo ODBC.ini

Programa de ejemplo

El siguiente ejemplo RDO utiliza una conexión ODBC "DSN" por lo que no es necesario configurar un DSN con la utilidad Administrador de ODBC de antemano.
  1. Inicie un proyecto nuevo de Visual Basic. Se creará Form1 de manera predeterminada.
  2. Agregue un botón de comando a Form1, Command1 de forma predeterminada.
  3. Pegue el código siguiente en la sección General Declarations de Form1.

    Nota Debe cambiar el nombre de usuario = <username> y PWD = < contraseña > a los valores correctos antes de ejecutar este código. Asegúrese de que nombre de usuario tiene los permisos adecuados realizar esta operación en la base de datos.
          Dim en As rdoEnvironment
          Dim cn As rdoConnection
    
          Private Sub Form_Load()
            MousePointer = vbHourglass
            Dim strConnect As String
            ' Change the next line to reflect your driver and server.
            strConnect = "driver={SQL Server};server=jonfo5;" & _
              "database=pubs;Username=<username>;PWD=<strong password>;"
            Set en = rdoEngine.rdoEnvironments(0)
            Set cn = en.OpenConnection( _
              dsName:="", _
              Prompt:=rdDriverNoPrompt, _
              ReadOnly:=False, _
              Connect:=strConnect)
            cn.QueryTimeout = 600
            MousePointer = vbNormal
          End Sub
          Private Sub Command1_Click()
            MousePointer = vbHourglass
            Dim rs As rdoResultset
            Set rs = cn.OpenResultset(Name:="Select * from authors", _
              Type:=rdOpenForwardOnly, _
              LockType:=rdConcurReadOnly, _
              Options:=rdExecDirect)
            Debug.Print rs(0), rs(1), rs(2)
            MousePointer = vbNormal
          End Sub
    
    						
  4. Tenga en cuenta que debe cambiar los parámetros DRIVER, SERVER, DATABASE, UID y PWD en el método OpenConnection. También deberá modificar el SQL instrucción contenida en el evento Command1_Click para coincidir con su propio SQL origen de datos.
  5. Compruebe el objeto de datos remoto de Microsoft en las referencias del proyecto.
  6. Inicie el programa o presione la tecla F5.
  7. Haga clic en el botón Command1 para crear un objeto rdoResultset y mostrar la primera fila de datos en la ventana de depuración.

Referencias

Guía del Hitchhiker Visual Basic y SQL Server, Microsoft Press.
ISBN: 1-55615-906-4.

Propiedades

Id. de artículo: 147875 - Última revisión: lunes, 30 de agosto de 2004 - Versión: 2.1
La información de este artículo se refiere a:
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
Palabras clave: 
kbmt kbhowto kbrdo KB147875 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 147875

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com