connessione database access accdb

domenica 17 dicembre 2006 - 14.28

Amodio Profilo | Expert

salve a tutti
ho installato office 2007, ora access ha una nuova esenzione:"accdb"
putroppo se creo un database e cerco di connettermi da una applicazione .net mi da errore "formato database non riconosciuto" :(

cos adevo fare?
grazie

Cteniza Profilo | Guru

A quanto mi risulta la stringa dovrebbe essere questa:
Dim myDb As String = "D:\access\dbprova.accdb"
Dim myString As String = "Microsoft.ACE.OLEDB.12.0;Data Source=" & myDb &";Persist Security Info=False"
Ovviamente devi avere il driver :))
http://www.microsoft.com/downloads/details.aspx?FamilyID=7554f536-8c28-4598-9b72-ef94e038c891&DisplayLang=en

Amodio Profilo | Expert

ho scaricato
ma non trovo un modo per connettermi ad un database protetto da password :(

Cteniza Profilo | Guru

Gli altri argomenti credo (spero) che rimangano come prima:
Jet OLEDB:Database Password=mypassword
da aggiungere alla stringa di connessione

Devil Profilo | Junior Member

Ciao,
sono oggi nello stesso problema. Nonostante abbia installato i vari driver, creato il nuovo connection manager, impostato l'esecuzione a 32 bit del progetto.... mi continua ad indicare che il formato del database accdb non è riconosciuto.

Come si procede? c'è qualche impostazione, qualche altro settaggio, qualche "extended properties" particolare?

Grazie
ciao

Amodio Profilo | Expert

ciao
i driver devi scaricare quelli nuovi per office 2013
poi cambi anche la stringa di connessione
qui trovi quella che ti serve a seconda di quello che devi fare
http://www.connectionstrings.com/access/

è possibile inoltre che il file sia corrotto!! capita

Devil Profilo | Junior Member

Ti ringrazio per la rapida risposta!!

Potresti indicarmi il link per i driver? non vorrei prendere quelli sbagliati.

Per chiarire dico che:

Ho realizzato un pacchetto SSIS (in SQL2008R2 su VM Windows server 2008 R2) che deve collegarsi ad un DB access versione 2010 (32bit).

573x331 47Kb
Ho creato un connection manager

522x534 54Kb
ma l'errore che compare è sempre quello di "database non riconosciuto".

543x527 55Kb


Sono corretti i passaggi fatti?
E' necessario riavviare l'istanza SQL dopo l'installazione dei driver?

Ho controllato la stringa di connessione con il sito che mi hai indicato e non trovo differenze.
Dopo averli installati riproverò a fare il connection manager
Grazie anticipatamente

Amodio Profilo | Expert

prova qui
http://www.microsoft.com/en-us/download/details.aspx?id=23734

poi per sql server che stai usando mi sa che non riconosceva il driver accdb
ma già dalla versione 2010 (credo di non sbagliare) accettava database con nuova estensione

jekisi Profilo | Senior Member

Non ci sta bisogno di nulla, basta che salvi il file di Access alla versione 2000-2003

Devil Profilo | Junior Member

Potrebbe essere una soluzione se l'operazione dovesse essere fatta una sola volta o se fossi il proprietario del DB ma il DB Access è stato (purtroppo) proprio di recente rifatto con la versione 2010

jekisi Profilo | Senior Member

E quindi?

Lo apri col 2010 e lo salvi col nome alla versione 2000 - 2003

Devil Profilo | Junior Member

Il fatto è che non posso toccarlo. E' in uso e quotidianamente aggiornato dall'ufficio vicino al mio. E' stato di recente aggiornato alla nuova versione come i loro pc. La mia necessità è collegarmi per attingere dati (macchine industriali), elaborarli e caricarli quotidianamente sul mio gestionale (DB SQL)

jekisi Profilo | Senior Member

Ma tu questo db aggirnato ecc.. lo devi leggere eccetera, che devi fare, ci devi lavorare sopra?

Amodio Profilo | Expert

la soluzione che ti ho dato io , i driver a me ha sempre funzionato, dacci indicazioni su errori ricevuti

jekisi Profilo | Senior Member

Anche se non ho fatto alcuna prova dai uno sguardo a questo sito:

http://www.connectionstrings.com/access-2007/#

forse ti può essere utile

Devil Profilo | Junior Member

Ti ringrazio per il link

avevo già fatto qualche prova e mi tornerà utile, il fatto è che sono fermo al passo precedente: non ho i driver!

anche se scrivo ... Provider=Microsoft.ACE.OLEDB.12.0... compare un messaggio avvisando che il formato del db non è riconosciuto.

Sto provando con il mio CED a installare i driver indicati nei link sopra ma alcuni sembra non funzionino.

Vi tengo aggiornati

Grazie in ogni caso

jekisi Profilo | Senior Member

Eccoti il codice:

Public Class Form1
Public Connstring As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\accdb\database1.accdb;"
Public cn As New OleDb.OleDbConnection(Connstring)
Public dr As OleDb.OleDbDataReader
Public Cmd As OleDb.OleDbCommand
Public sql As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
cn.Open()
sql = "INSERT INTO [tabella1] (xxx) Values(" & Chr(34) & TextBox1.Text & Chr(34) & ")"
Cmd = New OleDb.OleDbCommand(sql, cn)
dr = Cmd.ExecuteReader
cn.Close()
End Sub

Se ti da errore, secondo me, e perchè devi scaricare e installare i tools:
AccessDatabaseEngine e AccessRutime, prova e se ti da qualche errore mandami l' immagine dell' errore, a me funziona.

Ti allego la soluzione ma in vb 2008

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5