+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Connessione a file dbf

  1. #1
    Francesco53 non è in linea Scolaretto
    Post
    141

    Connessione a file dbf

    Un saluto a tutto il Forum, ho la seguente difficoltà nel connettermi per l'inserimento di dati ad un file dbf.
    Posto il codice che utilizzo, per un file mdb funziona perfettamente, mentre con file dbf mi da il seguente errore:
    "Eccezione non gestita di tipo 'System.Data.OleDb.OleDbException' in System.Data.dll"
    Non riconosce il file dbf.
    codice:
    provider = "provider=microsoft.jet.oledb.4.0;data source="
            datafile = Application.StartupPath & "\Appuntamenti.dbf"
            connstring = provider & datafile
            myconnection.ConnectionString = connstring
            myconnection.Open()
    Ho provato a sostituire la stringa di connessione al provider con la seguente riga:
    codice:
    provider = "provider=Microsoft.ACE.OLEDB.12.0;data source="
    Purtroppo persiste l'errore.
    Chiedo cortesemente se mi potete dire cosa correggere.
    Ringrazio chi mi può dare un aiuto,
    Francesco

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,253
    Blogs
    5
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    Francesco53 non è in linea Scolaretto
    Post
    141
    Grazie AntonioG per il link, ho però la difficolà di dove inserire:

    Extended Properties=dBASE IV

    conservando Application.StartupPath

    Puoi per favore indicarmelo?
    Grazie
    Francesco

  4. #4
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,253
    Blogs
    5
    Quella è la stringa di connessione a cui devi unire la Application.StartupPath come si uniscono normalmente le stringhe in vbnet

    Il nome del file non va nella stringa ma nella

    "SELECT * FROM Appuntamenti.dbf"
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  5. #5
    Francesco53 non è in linea Scolaretto
    Post
    141
    Ciao AntonioG, io nel codice non ho
    "SELECT * FROM Appuntamenti.dbf"
    utilizzo il seguente codice:

    codice:
    Sub Inserisci()
            Dim rig As Byte
            provider = "provider=microsoft.jet.oledb.4.0;data source="
            datafile = Application.StartupPath & "\Appuntamenti.dbf"
            connstring = provider & datafile  '& "Extended Properties=dBASE IV"
            myconnection.ConnectionString = connstring
            myconnection.Open()
            Dim str As String
            For rig = 0 To NEMax - 1
                str = "Insert into Appuntamenti([PROG],[DATA],[INIZIO],[FINE],[RAPPRESENTANTE],[AZIENDA]) values (?,?,?,?,?,?)"
                Dim cmd As OleDbCommand = New OleDbCommand(str, myconnection)
                cmd.Parameters.Add(New OleDbParameter("PROG", dati(rig)(0)))
                cmd.Parameters.Add(New OleDbParameter("DATA", dati(rig)(1)))
                cmd.Parameters.Add(New OleDbParameter("INIZIO", dati(rig)(2)))
                cmd.Parameters.Add(New OleDbParameter("FINE", dati(rig)(3)))
                cmd.Parameters.Add(New OleDbParameter("RAPPRESENTANTE", dati(rig)(4)))
                cmd.Parameters.Add(New OleDbParameter("AZIENDA", dati(rig)(5)))
            Next rig
            myconnection.Close()
        End Sub
    Come puoi vedere ho tentato di aggiungere "Extended Properties=dBASE IV" purtroppo persiste l'errore.
    Francesco

  6. #6
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,253
    Blogs
    5
    Hai letto quello che ti ho scritto?
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  7. #7
    Francesco53 non è in linea Scolaretto
    Post
    141
    Ciao AntonioG, ho provato anche questa variazione che ti posto ma, purtroppo non riesco a risolvere.

    codice:
    datafile = Application.StartupPath & "\Appuntamenti.dbf"
            provider = "provider=microsoft.jet.oledb.4.0;data source=" & datafile & ";Extended Properties=dBASE IV"
            connstring = provider & datafile
            myconnection.ConnectionString = connstring
            myconnection.Open()
    purtroppo non funziona.
    Francesco

  8. #8
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,253
    Blogs
    5
    NON devi usare il nome del file nella stringa di connessione ma solo la cartella. Il file va nella INSERT

    Te l'ho già detto ...
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  9. #9
    Francesco53 non è in linea Scolaretto
    Post
    141
    Ciao ti ringrazio per la pazienza, sono riuscito a risolvere in base ai tuoi consigli.

    provider = "provider=microsoft.jet.oledb.4.0;data source=" & Application.StartupPath & ";Extended Properties=dBASE IV;User ID=Admin;"

    Francesco

  10. #10
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,253
    Blogs
    5
    Esatto ... era quello che c'era praticamente scritto nella mia prima risposta...
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi