|
Oracle: Acceso a Oracle mediante Microsoft Visual Basic, RDO y ODBC
Código fuente y explicación paso a paso y con capturas de pantalla para acceso a Oracle mediante Microsoft Visual Basic, Microsoft Remote Data Object (RDO) y ODBC.
Acceso a Oracle (o cualquier otra base de datos: MySQL, SQL Server, Access, etc) mediante Microsoft Visual Basic, RDO y ODBC 1. En primer lugar instalaremos el Driver ODBC correspondiente al motor de base de datos a la que queramos acceder. Todos los fabricates (Oracle, Access, SQL Server, MySQL, Informix, DB2, ...) disponen de este sofware en su web. Si utilizamos como Sistema Operativo Microsoft Windows XP es muy posible que ya incluya la mayoría de ellos. En nuestro caso utilizaremos como ejemplo el driver de Oracle 9.2. 2. Crearemos un origen de datos nuevo desde "Inicio" - "Configuración" - "Panel de control" - "Herramientas administrativas" - "Orígenes de datos ODBC": Si queremos que este origen de datos esté disponible para cualquier usuario del equipo pulsaremos en la pestaña "DSN de Sistema", pulsaremos en "Agregar", seleccionaremos el controlador correspondiente y pulsaremos en "Finalizar":
Introduciremos los datos necesarios para el origen de datos:
Si queremos realizar una prueba de conexión pulsaremos "Test Connection", en caso contrario guardaremos el Origen de datos pulsando en "OK". Nota: esta ventana variará en función del tipo de controlador seleccionado (MySQL, SQL Server, DB2, Informix, ...). 2. Abriremos Microsoft Visual Basic 6.0, pulsaremos en "Archivo" - "Nuevo proyecto", seleccionaremos "EXE Estándar" y pulsaremos en "Aceptar": Para visualizar las propiedades del formulario principal de nuestra aplicación Visual Basic pulsaremos en "Ver" - "Ventana Propiedades": Modificaremos las propiedades Guardaremos el proyecto pulsando en "Archivo" - "Guardar proyecto" y especificaremos la ruta y el nombre del fichero del formulario principal y el nombre del propio proyecto: Para poder utilizar las funciones propias de Microsoft Remote Data Object (RDO) deberemos añadir, desde "Proyecto" - "Referencias", este componente a la aplicación: Seleccionaremos "Microsoft Remote Data Object", el cual necesitará la librería "MSRDO20.DLL" para su funcionamiento: Añadiremos los componentes necesarios y modificaremos sus propiedades, en nuestro caso hemos utilizado 5 TextBox (dos de ellos con la propiedad Multiline a True para permitir múltimes líneas y uno de ellos con la propiedad PasswordChar a "*" para que al escribir la contraseña no se visualice). También hemos añadido 6 Label, un CheckBox y 2 CommandButton, el formulario resultante será el siguiente:
Los componetes y sus propiedades principales: Agregaremos el código Visual Basic correspondiente al botón bEjecutar: Private Sub bEjecutar_Click() Dim rdoEntorno As rdoEnvironment Dim rdoConexion As rdoConnection Dim rsConsulta As rdoResultset Dim conODBC As String Dim contenidoL As String Dim i As Integer Dim numRegMostrar As Integer Dim numRegActual As Integer On Error GoTo cError conODBC = "DSN=" + txtODBC.Text + ";ODBC;" + _ ";uid=" + txtUsuario.Text + ";pwd=" + txtContrasena.Text Set rdoEntorno = rdoEngine.rdoEnvironments(0) Set rdoConexion = rdoEntorno.OpenConnection(txtODBC.Text, False, True, conODBC) Set rsConsulta = rdoConexion.OpenResultset(txtSQL.Text, rdOpenStatic) rsConsulta.MoveLast rsConsulta.MoveFirst lInfo.Caption = CStr(rsConsulta.RowCount) txtContenido.Text = "" If opMostrarContenido.Value Then numRegMostrar = CInt(txtNumReg.Text) numRegActual = 0 Do Until rsConsulta.EOF contenidoL = "" numRegActual = numRegActual + 1 If numRegActual <= numRegMostrar Then For i = 0 To rsConsulta.rdoColumns.Count - 1 If Not IsNull(rsConsulta(i).Value) Then If contenidoL <> "" Then contenidoL = contenidoL + " | " + CStr(rsConsulta(i).Value) Else contenidoL = CStr(rsConsulta(i).Value) End If End If Next i txtContenido.Text = txtContenido.Text + (contenidoL + Chr(13) + Chr(10)) rsConsulta.MoveNext Else Exit Sub End If Loop End If cSalir: Exit Sub cError: MsgBox Err.Description End Sub Agregaremos el código Visual Basic correspondiente al botón bSalir: Private Sub bSalir_Click() 3. Compilaremos la aplicación pulsando en "Ejecutar" - "Iniciar con compilación completa", el resultado será:
4. Generaremos el fichero ejecutable correspondiente, desde "Archivo" - "Generar accesoOracle.exe" Nota: Otra forma de acceder al valor de un campo, utilizando el nombre de éste en vez de su posición es: valorCampo = rsConsulta.rdoColumns("NOMBRE_COLUMNA").Value Anuncios
Enviado el Martes, 30 mayo a las 08:06:12 por ajpdsoft
|
|