Connessione Database Access

martedì 12 maggio 2009 - 14.43

dyd666 Profilo | Junior Member

Salve
In un pulsante del mio sito , ho inserito il seguente codice:

// Componiamo la stringa di connessione String ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("/App_Data/Lam.accdb"); // Creiamo l'oggetto cn di tipo OleDbConnection // passando la stringa di connessione al costruttore OleDbConnection cn = new OleDbConnection(ConnString); // Apriamo la connessione cn.Open(); // Utilizziamo la connessione... // ... // ... // Chiudiamo la connessione al database cn.Close();

Mi dà un errore nella parte iniziale , dicendomi che non riesce a mappare l'indirizzo....
???

Saluti

BlackJad Profilo | Newbie

Dovresti usare un database in formato .mdb ;)

alx_81 Profilo | Guru

>Dovresti usare un database in formato .mdb ;)
non è proprio così.. Access 2007 usa una connectionstring differente (provider compreso). Guarda qui:
http://www.connectionstrings.com/access-2007

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

dyd666 Profilo | Junior Member

Grazie ad entrambi , proverò.
Ho trovato forse un altro metodo

mrub Profilo | Junior Member

manca ~ ... dovrebbe essere Server.MapPath("~/App_Data/Lam.accdb");

cmq conviene inserire la stringa nel web config (io uso access<2007 ma la logica dovrebbe essere la stessa)

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

<connectionStrings>
<add name="ConnessioneDb" connectionString="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=|DataDirectory|\miodb.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
.....

e nel codice .vb

Dim strconn As String = ConfigurationManager.ConnectionStrings("ConnessioneDb").ConnectionString
Dim miaconn As New OleDbConnection(strconn)

alx_81 Profilo | Guru

>manca ~ ... dovrebbe essere Server.MapPath("~/App_Data/Lam.accdb");
>
>cmq conviene inserire la stringa nel web config (io uso access<2007
>ma la logica dovrebbe essere la stessa)
>
><configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
>
><connectionStrings>
><add name="ConnessioneDb" connectionString="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA
>SOURCE=|DataDirectory|\miodb.mdb" providerName="System.Data.OleDb"/>
></connectionStrings>
>.....
>
>e nel codice .vb
>
>Dim strconn As String = ConfigurationManager.ConnectionStrings("ConnessioneDb").ConnectionString
> Dim miaconn As New OleDbConnection(strconn)
>
mi ripeto, ma se volte darmi ascolto seguite le indicazioni del sito che vi ho passato
ACE è un provider più nuovo e performante per i database access2007.

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

mrub Profilo | Junior Member

Ho dato un'occhiata al link segnalato da te ... ottimo.
Cmq non sono entrato nel merito di quale provider utilizzare ma solo di come dichiararlo ed in ogni caso manca sempre la ~

Il giorno che utilizzerò access2007 seguirò sicuramente il tuo consiglio
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