Access - Conexión en vba a Oracle

 
Vista:

Conexión en vba a Oracle

Publicado por luis (2 intervenciones) el 31/05/2007 17:23:04
Hola,

A ver si alguien como puedo resolver un problemilla. Me han pedido que extraiga de unas bases de datos Oracle8 a unas vistas en modelo access. Y lo primero que seria conectar via visual basic access con la base de datos ya no me salgo. He buscado por todas partes pero no encuentro una posible solucion para conectarme al oracle. Si alguien sabe como hacer-lo, me seria de gran utilidad.

Saludos, y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conexión desde Visual Basic a Oracle para extracción de datos

Publicado por Alejandro (4142 intervenciones) el 11/08/2023 19:38:24
Para conectarte desde Visual Basic en Access a una base de datos Oracle y extraer datos, puedes seguir estos pasos:

1. Instala el controlador ODBC de Oracle: Asegúrate de tener instalado el controlador ODBC de Oracle en tu sistema. Puedes descargarlo desde el sitio web de Oracle.

2. Configura una fuente de datos ODBC: Abre el Panel de Control de Windows, busca "Fuentes de datos ODBC" y configura una nueva fuente de datos ODBC que apunte a tu base de datos Oracle. Proporciona la información de conexión necesaria, como el nombre del servidor, el puerto, las credenciales de acceso, etc.

3. Inicia un nuevo proyecto en Access: Abre Microsoft Access y crea un nuevo proyecto o utiliza uno existente donde desees realizar la extracción de datos.

4. Crea un módulo de Visual Basic: Abre la base de datos en Access y ve al área de desarrollo. Crea un nuevo módulo de Visual Basic presionando `Alt + F11` y luego seleccionando "Insertar" > "Módulo".

5. Escribe el código de conexión: En el módulo, puedes utilizar el objeto `ADODB.Connection` para establecer la conexión con la base de datos Oracle. Aquí tienes un ejemplo de código para conectarte:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function ConectarOracle() As ADODB.Connection
    Dim conn As New ADODB.Connection
    Dim strConn As String
 
    ' Cadena de conexión ODBC a la fuente de datos Oracle
    strConn = "Provider=MSDASQL.1;Persist Security Info=False;" & _
              "User ID=TU_USUARIO;Password=TU_CONTRASEÑA;Data Source=TU_FUENTE_ODBC;"
 
    On Error Resume Next
    conn.Open strConn
    If conn.State = adStateOpen Then
        Set ConectarOracle = conn
    Else
        Set ConectarOracle = Nothing
    End If
End Function

Asegúrate de reemplazar `TU_USUARIO`, `TU_CONTRASEÑA` y `TU_FUENTE_ODBC` con los valores adecuados.

6. Extrae datos desde Oracle: Una vez que tienes la conexión establecida, puedes utilizar objetos `ADODB.Recordset` para ejecutar consultas SQL y extraer datos desde Oracle. Aquí hay un ejemplo básico:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub ExtraerDatosDesdeOracle()
    Dim conn As ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strSQL As String
 
    ' Conectarse a Oracle
    Set conn = ConectarOracle()
    If conn Is Nothing Then
        MsgBox "Error al conectar a Oracle."
        Exit Sub
    End If
 
    ' Consulta SQL para extraer datos
    strSQL = "SELECT * FROM TU_TABLA"
 
    ' Abrir el recordset y cargar datos
    rs.Open strSQL, conn, adOpenForwardOnly, adLockReadOnly
    If Not rs.EOF Then
        ' Hacer algo con los datos, por ejemplo, imprimirlos
        Do Until rs.EOF
            Debug.Print rs.Fields("NombreCampo").Value
            rs.MoveNext
        Loop
    End If
 
    ' Cerrar recordset y desconectar
    rs.Close
    conn.Close
    Set rs = Nothing
    Set conn = Nothing
End Sub

Reemplaza `TU_TABLA` y `"NombreCampo"` con los valores adecuados.

Recuerda que estos son ejemplos básicos y deberás adaptar el código según las necesidades específicas de tu proyecto y la estructura de tu base de datos Oracle.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar