Se vuoi usare ODBC, devi:
- Installare il client Oracle
- Configurare un alias per la connessione, utilizzando il Net
Configuration Assistant (o Net Easy Config o come si chiama adesso
quel tool, gli cambiano nome in continuazione...); oppure tagli la
testa al toro e modifichi direttamente il file di testo 'tnsnames.ora'
- Configurare un origine dati ODBC usando l'alias visto sopra come
nome del server
A quel punto, è una normale connessione come le altre.
>Se vuoi usare ODBC, devi:
>
>- Installare il client Oracle
>- Configurare un alias per la connessione, utilizzando il Net
>Configuration Assistant (o Net Easy Config o come si chiama adesso
>quel tool, gli cambiano nome in continuazione...); oppure tagli la
>testa al toro e modifichi direttamente il file di testo 'tnsnames.ora'
>- Configurare un origine dati ODBC usando l'alias visto sopra come
>nome del server
>
>A quel punto, =E8 una normale connessione come le altre.
il client oracle e' installato: con SQL Plus infatti posso accedere al
database; ho provato ad aprire il file tnsnames.ora che riporto:
# tnsnames.ora Network Configuration File:
C:\Oracle\product\10.1.0\Client_2\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
CRIBBIO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.3)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cribbio)
)
)
quindi nell'origine dati ODBC ho creato un DSN di sistema chiamato:
cribbio (Microsoft ODBC for Oracle)
e ci ho messo:
nome origine dati: cribbio
descrizione: descrizione a piacimento
nome utente: l'utenza che ho inserito quando ho provato SQL Plus
password: la password che ho inserito quando ho provato SQL Plus
Server: l'indirizzo IP del server Oracle
il programma VB per testare la connessione al database e' il seguente:
Dim Cn As ADODB.Connection
Private Sub Form_Load()
Set Cn = New ADODB.Connection
On Error GoTo DSNFailure
Cn.Open "DSN=cribbio"
On Error GoTo 0
Cn.Close
ExitPoint:
Set Cn = Nothing
Exit Sub
DSNFailure:
MsgBox "DSN Connection Failed"
Resume ExitPoint
End Sub
mi restituisce sempre l'errore...
Vedi sopra:
Quando crei l'origine dati ODBC, il nome di alias "cribbio" lo devi
usare *NEL CAMPO SERVER*, non nel nome del data source, che puoi
chiamare come ti pare
Nella stringa ti connessione, è meglio anche specificare almeno la
password, perchè non mi risulta che venga salvata nel Data Source; a
quel punto passa anche l'utente
Cn.Open "DSN=XXX;Uid=YYYY;Pwd=ZZZ"
bene, ora funziona tutto. come stringa di connessione ho impostato:
db.ConnectionString = "Password=" & password & ";UID=" & utente &
";Data Source=" & dsn
non ho ben capito l'impostazione del Provider nella stringa di
connessione (in alcune guide online l'avevo trovato), ma funziona
(anche) senza impostarlo.
grazie