La Web del Programador: Comunidad de Programadores
 
    Pregunta:  4229 - ORACLE 8 CON VISUAL BASIC 3
Autor:  Diego López Vyhmeister
Hola:
Mi pregunta consiste en lo siguiente: necesito conectarme a una base de datos de Oracle 8 con Visual Basic 3, y no sé de qué manera hacerlo. Con Visual 6 pude hacerlo (con el ADO Data Control), pero sólo logré agregar o eliminar registros, porque las consultas SQL me generaban un error. En todo caso me interesa lo de Visual 3, porque tengo entendido que la forma de conectarse a la base de datos es completamente distinta.

De antemano muchas gracias

  Respuesta:  Isaias Ovando Ruiz
O. K. Diego al parecer en DAO no hay proveedores de Bases de datos como MSDAQ que para Oracle, si utilizas VB 3, me supongo que por lo minimo estas utilizando DAO 3.5 o inferior, pero bueno creo que es lo mismo.

Este el procedimiento:

Te vas al panel de cotrol y en fuentes de ODBC te vas a encontrar con que puedes conectarte a cualquier base de datos.

Bien, pues ahy generas un archivo (DSN) con el cual te vas a poder conectar, y ya despues desde codigo haces lo sig (ejemplo).

Sub OpenConnectionX()

Dim wrkODBC As Workspace
Dim conPubs As Connection
Dim conPubs2 As Connection
Dim conPubs3 As Connection
Dim conLoop As Connection

' Create ODBCDirect Workspace object.
Set wrkODBC = CreateWorkspace("NewODBCWorkspace", _
"admin", "", dbUseODBC)

' Open Connection object using supplied information in
' the connect string. If this information were
' insufficient, you could trap for an error rather than
' go to an ODBC Driver Manager dialog box.

MsgBox "Opening Connection1..."
Set conPubs = wrkODBC.OpenConnection("Connection1", _
dbDriverNoPrompt, , _
"ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers")

' Open read-only Connection object based on information
' you enter in the ODBC Driver Manager dialog box.
MsgBox "Opening Connection2..."
Set conPubs2 = wrkODBC.OpenConnection("Connection2", _
dbDriverPrompt, True, "ODBC;DSN=Publishers;")

' Open read-only Connection object by entering only the

' missing information in the ODBC Driver Manager dialog
' box.
MsgBox "Opening Connection3..."
Set conPubs3 = wrkODBC.OpenConnection("Connection3", _
dbDriverCompleteRequired, True, _
"ODBC;DATABASE=pubs;DSN=Publishers;")

' Enumerate the Connections collection.
For Each conLoop In wrkODBC.Connections
Debug.Print "Connection properties for " & _
conLoop.Name & ":"

With conLoop
' Print property values by explicitly calling each

' Property object; the Connection object does not
' support a Properties collection.
Debug.Print " Connect = " & .Connect
' Property actually returns a Database object.
Debug.Print " Database[.Name] = " & _
.Database.Name
Debug.Print " Name = " & .Name
Debug.Print " QueryTimeout = " & .QueryTimeout
Debug.Print " RecordsAffected = " & _
.RecordsAffected
Debug.Print " StillExecuting = " & _

.StillExecuting
Debug.Print " Transactions = " & .Transactions
Debug.Print " Updatable = " & .Updatable
End With

Next conLoop

conPubs.Close
conPubs2.Close
conPubs3.Close
wrkODBC.Close

End Sub

Espero que te sirva.
Saludos de ADOvando