Newsgroup: it.comp.lang.visual-basic
Titolo: SELECT E UPDATE CON DAO SU DB ORACLE

Scusate la ridicola richiesta ma non riesco a trovare soluzione ad un
problema secondo me INESISTENTE
Mi collego ad un DB ORACLE tramite ODBC con DAO,
La struttura della tabella è la seguente
TABELLA
 Nome                                            Null?                Tipo
 -------------------------------     --------               ----
 TZONEPRES_COD                   NOT NULL       NUMBER(10)
 TZONEPRES_CODDESCR                                 VARCHAR2(5)
 TZONEPRES_DESCR                                         VARCHAR2(30)
La stringa di connessione è la seguente:
    Set Work = CreateWorkspace("MyWork", "admin", "", dbUseJet)
    Set DbInfo = Work.OpenDatabase("DSNINFORECora", dbDriverNoPrompt, False,
"ODBC;UID=inforec;PWD=inforec;DSN=DSNINFORECora")
Ovviamente le variabili WORK e DNINFO sono satedichiarate rispettivamente
come WORKSPACE e DATABASE
La creazione del collegamento ODBC è stata effettuata correttamente, quindi
il DB è stato aperto.
Se eseguo la seguente SELECT, non ci sono problemi e il recordset si riempie
dei giusti dati :
SQL  = "SELECT CAMPO1, CAMPO2, CAMPO3 FROM TABELLA " _
                 & "WHERE CAMPO2 LIKE '" & Trim(Replace(txt_CAMPO2.Text,
"'", "''")) & "*' AND " _
                 & "CAMPO3 LIKE '" & Trim(Replace(txt_CAMPO3.Text, "'",
"''")) & "*' " _
                 & "ORDER BY CAMPO2, CAMPO3"
Mentre invece se provo ad eseguire la SELECT.... :
        DIM    X    as STRING
        X="1"
         Sql = "SELECT CAMPO1, CAMPO2, CAMPO3 FROM TABELLA" _
                 & "WHERE CAMPO1 = " & X
Si genera il seguente errore : "TIPI DI DATI NON CORRISPONDENTE
NELL'ESPRESSIONE CRITERIO"
Questo errore si genera anche effettuando una semplicissima UPDATE con la
clausola WHERE sul campo chiave (CAMPO1
La cosa a me strana è che se copio la select o l'UPDATE nella finestra
immediata e la riporto in ORACLE SQL PLUS funziona tutto alla perfezione
vi ringrazio anticipatamente e vi auguro buon lavoro.

> Mi collego ad un DB ORACLE tramite ODBC con DAO,
Ma ci sei riuscito veramente?
Ora comincio a confondermi...
Ma DAO non era solo per access???
CiaoZ
SebaMix

 ha scritto nel messaggio
news:9dri4f$jbb58$1...@ID-66833.news.dfncis.de...


 SONO DISPERATO!
Sei sicuto che la tua variabile SQL sia as String e non as...Long o
Integer? :))
Saluti...
--------------------------------
Inviato via 
http://usenet.iol.it
 

 wrote in message
9drhbj$nq3$1...@pinco.nettuno.it...


 ha scritto nel messaggio
news:9drhbj$nq3$1...@pinco.nettuno.it...


 "ODBC;UID=inforec;PWD=inforec;DSN=DSNINFORECora")
alt!
il Data Source di ODBC DSNINFORECora è stato creato utilizzando il driver
ODBC di Microsoft
o con quello fornito da oracle ?
a volte, usando DAO, capitano cose strane utilizzando il driver odbc di
oracle...
chissa'... magari è quello!
Ciao
Enrico

Il driver ODBC nativo di oracle per windows, permette di creare recordsets
read-only !
Devi usare il driver ODBC di Microsoft (piu' lento, ma permette di eseguire
aggiornamenti al database)
Ciao.
Lorenzo

 ha scritto nel messaggio
news:9drhbj$nq3$1...@pinco.nettuno.it...


 ha scritto
| Mentre invece se provo ad eseguire la SELECT.... :
|         DIM    X    as STRING
|         X="1"
|          Sql = "SELECT CAMPO1, CAMPO2, CAMPO3 FROM TABELLA" _
^^^^
manca uno spazio: TABELLA "
|                  & "WHERE CAMPO1 = " & X
                     ^^^^
manca uno spazio: " WHERE
|
| Si genera il seguente errore : "TIPI DI DATI NON CORRISPONDENTE
| NELL'ESPRESSIONE CRITERIO"
Prova se anche questa ti da errore:
        DIM    X    as STRING
        X="1"
         Sql = "SELECT CAMPO1, CAMPO2, CAMPO3 FROM TABELLA" _
                 & "WHERE CAMPO1 LIKE " & X
                                                      ^^^^
c'era un "=" che ho sotituito con LIKE...
CAMPO1 di che tipo e'????

 un po' dopodiche' abbandono il DAO  :-(
Se ho capito bene il problema, abbandonare DAO non ti servira' (comunque fai
meglio ad usare ADO....)
Ciao.
Lorenzo

Ho risolto utilizzando l'ADO
Grazie a tutti