Newsgroup: it.comp.lang.visual-basic
Titolo: connessione Oracle

Ciao a tutti. Vorrei sapere come connettermi ad un Db Oracle da VB5/6. Mi
spiego meglio: ho un server Unix con Oracle 7. Vorrei creare un prg in VB5/6
con la possibilita' di accedere al Db si in query che in modify. Vorrei
conoscere si il sw lato server e lato client da installare e la relativa
configurazione.
Ciao e grazie a chi vorra' darmi info.
Enrico (
ka...@tiscalinet.it
)

...

Nella mia ditta (non me ne sono occupato io personalmente) abbiamo usato il
driver ODBC fornito con Oracle stesso (credo sia compreso in un pacchetto
che si chiama SQLNET ) evitando accuratamente il driver Microsoft.
Installato SQLNET sui PC  si puň scegliere il metodo piů comodo per accedere
ai dati, noi abbiamo cominciato con RDO e adesso stiamo passando ad ADO 2.0.
Attenzione, credo che per usare SQLNET (o come si chiama) tramite ODBC
occorra che sia configurato appositamente il DB (a noi lo fece il tecnico
ORACLE in fase di installazione, anche se penso che fosse una sciocchezza)
Buon lavoro

Devi installare sulle macchine client il client di Oracle.
Dopo l'installazione trovi un programma che si chiama SQLNet easy
configuration.
Con tale programma devi assegnare un identificativo alla stringa di
connessione che può essere un nome di fantasia come
'mia_connessione_di_prova', dopodiche devi indicare il protocollo
(presumibilmente TCP/IP) e quindi l'indirizzo del server sul quale gira il
motore Oracle.
A questo punto la tua macchina client è configurata e per provarla lancia il
programma SQL Plus ( facente parte anch'esso dell'installazione client ).
Tale programma ti chiederà la stringa di connessione che ti sei inventato
 nel caso dell'esempio scriverai 'mia_connessione_di_prova' ) , il nome
dell'utente e la sua password che tenta di collegarsi.
Se con questo programma ti connetti al database e riesci ad eseguire una
SELECT il collegamento funziona.
Lato Visual Basic:
Con VB io ho deciso di utilizzare il provider Microsoft OLEDB e devo dire
che mi trovo bene.
Con queste istruzioni io eseguo la connessione:
'_------------------------------ INIZIO CODICE
Option Explicit
Public oConn As New ADODB.Connection
Event ConnessioneAperta()
Public Sub ApriConnessione()
    Dim oErr As Errors
    Dim ErrLoop As Error
    Dim i As Integer
    Dim MsgString As String
    Dim AccessConnect As String
    On Error GoTo AdoError
    AccessConnect = "Provider=MSDAORA.1;" & _
                                    "Data Source=" &
oIniFile.LeggiIni("Config", "StringaDiConnessione") & ";" & _
                                    "Persist Security Info=False"
    oConn.CursorLocation = adUseClient
    oConn.Open AccessConnect, "utente", "sua_password"
    oConn.Execute "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'"
    If oConn.State = adStateOpen Then
        RaiseEvent ConnessioneAperta
    End If
    Exit Sub
AdoError:
    i = 1
    On Error Resume Next
    Set oErr = oConn.Errors
    If oErr.count > 0 Then
        For Each ErrLoop In oErr
            With ErrLoop
                MsgString = MsgString & vbCrLf & i & "° errore:"
                MsgString = MsgString & vbCrLf & "    ADO Error       # " &
.Number
                MsgString = MsgString & vbCrLf & "    ADO Description   " &
.Description
                MsgString = MsgString & vbCrLf & "    ADO Source        " &
.Source
                i = i + 1
            End With
        Next
        MsgBox MsgString, vbCritical
        Set oConn = Nothing
        End
    End If
End Sub
' --------------   FINE CODICE
a questo punto hai una connessione aperta e devi soltanto istanziare i tui
oggetti recordset per poter lavorare con il DB.
Per esempio:
    oRs.Open "Select * from Comuni where Comuni.Codice = '001272'", _
                         oConn, adOpenForwardOnly, adLockReadOnly
Naturalmente perchè questo funzioni il tuo progetto deve avere un
riferimento  alla libreria  Microsoft ActiveX Data Object Library 2.0
Ciao, buon lavoro.
--
      Pino Saffioti
-----------------------------------
pino.s...@asl1.to.it


...




che si chiama SQLNET ) evitando accuratamente il driver Microsoft.
Io ho usato entrambi i drivers e non ho trovato problemi nè con l'uno nè con
l'altro.
Quando installo i miei applicativi uso quello che trovo già installato sul
client, altrimenti installo
quello di Oracle.

Ragazzi, siete forti...
finalmente sono riuscito a connettermi al db oracle come desideravo.
Un grazie a tutti voi che mi avete aiutato ... ed anche a coloro che non lo
hanno fatto ;-))
Ciao ciao
Enrico (
ka...@tiscalinet.it
)