Collegamento a DB Access non riuscito

di il
26 risposte

Collegamento a DB Access non riuscito

Buongiorno a tutti,
essendo alle primissime armi non capisco dove sia il problema...
Mi spiego: Applicazione in VB.Net con maschere che si agganciano ad un DB Access.
Il DB risiede nel percorso C:\MieiSW\SwUno
In fase di debug c'è la prima stranezza: I dati iniziali (un semplice contatore) vengono presi dal DB che risiede nella dir di cui sopra.
Dopo aver compilato la maschera però i dati vengono salvati in una copia del DB che "misteriosamente" si crea nella directory di Debug....
Peggio ancora quando "Pubblico" il sw.....qui mi viene detto che il DB non esiste in quanto viene cercato in una sotto dir di AppData!!!!
Cosa sbaglio secondo voi, a parte il fatto di voler imparare VB.NET?

26 Risposte

  • Re: Collegamento a DB Access non riuscito

    Probabilmente sbagli a non studiare prima quello che vuoi utilizzare ...
  • Re: Collegamento a DB Access non riuscito

    Caro Oregon, certamente hai ragione, ma visto che vengo da una pratica abbastanza ampia di applicazioni in Access non credevo di trovarmi inguaiato a tal punto per una cosa che presumo sia banale.
    Grazie comunque per il consiglio.
  • Re: Collegamento a DB Access non riuscito

    Da quanto hai descritto il collegamento al db lo fai tramite wizard e non tramite codice, questo è un metodo semplice per vedere subito risultati ma non altrettanto per completare un progetto funzionante, da qui il consiglio di oregon di studiare.
  • Re: Collegamento a DB Access non riuscito

    Grazie Patel per la tua risposta.
    No invece, il collegamento lo faccio tramite codice, più esattamente con questa stringa di codice:
    
    Dim DBconnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MieiSW\SwUno\DRAGG_be.mdb"
    
    Quello che non capisco è il perchè durante le varie fasi di sviluppo e successiva pubblicazione il sw "dimentica" doves si trova il DB e lo richiede in altre posizioni.....
  • Re: Collegamento a DB Access non riuscito

    Allora perché non mostri tutto il codice evitandoci di fare supposizioni false ?
  • Re: Collegamento a DB Access non riuscito

    Makino ha scritto:


    Quello che non capisco è il perchè durante le varie fasi di sviluppo e successiva pubblicazione il sw "dimentica" doves si trova il DB e lo richiede in altre posizioni.....
    Se il collegamento lo fai tramite codice con quella stringa di connessione, a meno che il database non venga volontariamente spostato, non preoccuparti che il software NON se lo "dimentica", poiché fino a prova contraria non ha una volontà propria.

    Bisogna poi vedere come quella stringa di connessione o la variabile vengono utilizzati nel programma, ossia nel resto del codice, e allora sì che forse potremmo capire qual è l'origine della presunta "dimenticanza".

    Ciao!
  • Re: Collegamento a DB Access non riuscito

    Hai per caso aggiunto il db al progetto in qualche modo?
  • Re: Collegamento a DB Access non riuscito

    Ringrazio nuovamente del vostro aiuto e mi scuso per non avervi fornito più elementi su cui riflettere.
    Allora, questa è la routine che utilizzo in fase di apertura maschera per risalire, ad esempio, all'ultimo numero di "motore" caricato....
    
            'RECUPERO NUMERO MOTORE DA TABELLA NumMot
            Dim DBConn As New OleDb.OleDbConnection
            Dim Cmd As OleDb.OleDbCommand
            Dim DR As OleDb.OleDbDataReader
            Dim rsQry As String
            DBConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" &
    "Data Source=C:\MieiSW\SwUno\DRAGG_be.mdb;"
            Try
                DBConn.Open()
            Catch ex As Exception
                MsgBox(ex.Message)
                MsgBox(ex.ToString)
            End Try
    
            rsQry = "SELECT NumMot FROM NumMotori ORDER BY NumMot desc"
            Cmd = New OleDb.OleDbCommand(rsQry, DBConn)
            DR = Cmd.ExecuteReader
            DR.Read()
            T_NP.Text = DR.GetInt32(0)
            DR.Close()
            ' FINE RECUPERO ULTIMO RECORD DA NumMotori
    
    Funziona tutto perfettamente ma:
    - se sono in DEBUG devo inserire copia del DB nella directory C:\MieiSW\SwUno\WindowsApplication1\bin\Debug
    - se faccio partire il SW dopo averlo pubblicato e installato compare l'errore di db non trovato perchè il sw lo cerca in una sottodir "AppData,ecc. ecc"

    Spero di essere stato chiaro abbastanza e mi scuso fin d'ora se non lo sono stato.
    Grazie a tutti
  • Re: Collegamento a DB Access non riuscito

    Non hai risposto alla mia domanda...
  • Re: Collegamento a DB Access non riuscito

    Oregon, pensavo che avendo postato il listato avrei automaticamente risposto alla tua domanda.
    Non ho usato wizard, c'è una stinga di connessione, che altro ti devo dire?
  • Re: Collegamento a DB Access non riuscito

    Hai aggiunto il db tra i file del progetto?
  • Re: Collegamento a DB Access non riuscito

    Ma il C:\MieiSW\SwUno\DRAGG_be.mdb è ESATTAMENTE quello che c'è nel programma oppure è solo un esempio ??

    Il dubbio che mi è venuto è che il nome del DB (oppure il suo path) non sia valido e quindi il sistema prende per default la directory corrente, ecco perchè lavora sulla cartella DEBUG
    - se sono in DEBUG devo inserire copia del DB nella directory C:\MieiSW\SwUno\WindowsApplication1\bin\Debug
    Assurdo !!
    Io ci lavoro da anni con i MDB e non ho MAI dovuto mettere il DB nella cartella DEBUG
  • Re: Collegamento a DB Access non riuscito

    SirJo ha scritto:


    Il dubbio che mi è venuto è che il nome del DB (oppure il suo path) non sia valido e quindi il sistema prende per default la directory corrente, ecco perchè lavora sulla cartella DEBUG
    Sicuramente c'è qualcosa che differisce rispetto al codice riportato, perché se apri una connessione indicando un percorso, e questo percorso risulta valido e fisso, il database viene aperto in quel percorso e non viene cercato altrove.

    Probabilmente, c'è da qualche parte un errore o un cambio del valore della stringa di connessione impercettibile o tralasciato, ma bisognerebbe vedere tutto il progetto per il quadro completo della situazione.
  • Re: Collegamento a DB Access non riuscito

    Ciao Makino,

    mi intrometto nel discorso forse già in errore dal titolo ...
    Io partirei sempre quando si lavora con file dal controllo dell'esistenza del file in questione nel posto giusto e raggiunto con il path giusto.

    un if "esiste" il file dove lo cerco prima del tentativo di accesso tramite DB aiuta a capire !!!

    poi è solo un suggerimento ... certo che se posti tutto il codice ( sarà sempre quello per quasi tutti i programmatori ) per accedere ad un db come MAMMA Microsoft suggerisce GRATIS sempre nella sua DOCUMENTAZIONE anche nella strana lingua ITALIANA !!!

    BYEEE
Devi accedere o registrarti per scrivere nel forum
26 risposte