|
|
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
|
|