Problème avec une bd Access

Signaler
Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004
-
Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004
-
salut a tous, je suis débutante et j'ai besoin d'aide:
je voudrais me connecter à une bd faite avec MS Access200,
je fais donc ça:
string monConnexionString = "Provider=Microsoft.JET.OLEDB.4.0 ;DataSource=c:/bd/bd1.mbd" ;
string MaRequête = "SELECT Table1.Titre, Table1.Nom, Table1.Prénom FROM Table1 WHERE Table1.Genre='";
MaRequête += ListBox1.SelectedItem.Text ;
MaRequête += "'";
OleDbConnection maConnexion = new OleDbConnection(monConnexionString);
maConnexion.Open();
OleDbCommand maCommande = new OleDbCommand(MaRequête, maConnexion);
OleDbDataReader monDataReader = maCommande.ExecuteReader() ;
Repeater1.DataSource = monDataReader ;
Repeater1.DataBind();
maConnexion.Close();

mais j'ai ça lors de l'exécution:

Erreur du serveur dans l'application '/WebApplication1'.
-----------------------------------------------------------------
Pilote ISAM introuvable.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.Data.OleDb.OleDbException: Pilote ISAM introuvable.

Erreur source:

Ligne 59 : MaRequête += "'";
Ligne 60 : OleDbConnection maConnexion = new OleDbConnection(monConnexionString);
Ligne 61 : maConnexion.Open();
Ligne 62 : OleDbCommand maCommande = new OleDbCommand(MaRequête, maConnexion);
Ligne 63 : OleDbDataReader monDataReader = maCommande.ExecuteReader() ;

Fichier source : c:\inetpub\wwwroot\webapplication1\webform1.aspx.cs Ligne : 61

Trace de la pile:

[OleDbException (0x80004005): Pilote ISAM introuvable.]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
WebApplication1.WebForm1.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplication1\webform1.aspx.cs:61
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()

avec la ligne 61 en rouge...

qu'est-ce que ça veut dire???

ps:merci d'avance!

Dans la vie faites comme les canards: paraissez zen et serain à la surface et pédalez comme un dingue en dessous!

6 réponses

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
bonjour,

as tu bien installé le MDAC 2.7 ?
utilises tu Visual Studio ?

Si oui, pour voir si l'environnement est correct, sollicite le:
- click droit sur DataConnection sous Server Explorer
Add Connection pour créer une connection avec Access
Vérifie le provider + teste
- déroule ensuite la connection, puis les tables et Drag&Drop d'une table sur la WebForm
=> tu dois avoir un OleDbConnection et OleDbDataAdapter sur la page
- etc ...

Le principe est de faire générer le code par les assistants...et de le modifier ensuite, une fois que ça fonctionne
J'ai plus d'info si tu en a besoin ...
A+
Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004

Je travaille avec Visual Studio.NET et je crois que j'ai bien installé la MDAC 2.7...
Mais je n'ai pas compris où je devais faire le clic droit?!
je débute alors il faut bien tout détailler stp...
en tout cas je te remercie de bien vouloir m'aider! :)

Dans la vie faites comme les canards: paraissez zen et serain à la surface et pédalez comme un dingue en dessous!
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
bonjour Jula
le point de départ est
menu Affichage(View) / Server Explorer ou (CTRL+ALT+S)
ensuite du dois voir l'icone DataConnection...

si tu as besoin d'une démo complète, dis le
je tâcherai de la poster
bon courage
Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004

Salut vieuxLion,
J'ai fait ce que tu as dit mais ça n'a pas fonctionné...
J'ai cliqué où tu disais, j'ai ajouté une connection à une bd access avec Microsoft OLE DB Provider for Jet, j'ai réessayé
d'exécuter et là, c le drame...
enfin, relativisons, disons que ça ne fonctionne pas, j'ai toujours la même erreur dans IE6 et je dois absolument trouver la solution rapidement sinon mes collègues de projet
ainsi que ma prof ne vont pas être contents!

En espérant que tu puisses continuer à m'aider...

Dans la vie faites comme les canards: paraissez zen et serain à la surface et pédalez comme un dingue en dessous!
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
Bonjour chère jula
voici une petite procédure de test
http://www.aspfr.com/article.aspx?Val=483

De plus, si tu ne l'as pas déjà fait :
- teste la proc avec une Base de donnée livrée avec Access... si ça marche, c'est ta base de donnée qu'il faudrait revoir
- teste ta base avec un simple code VB, si c'est OK, la Base est bonne
Bon courage
Messages postés
56
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
25 novembre 2004

bon comme ça fonctionnait toujours pas g changé de tactic,

voila donc mon nouveau code:

protected Microsoft.Data.Odbc.OdbcConnection odbcConnection1;
odbcConnection1 = new Microsoft.Data.Odbc.OdbcConnection();
string myConnectionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bd\films.mdb";
string myQuery = "SELECT Titre FROM Film";
odbcConnection1.ConnectionString = myConnectionString;
OdbcCommand myOdbcCommand = new OdbcCommand(myQuery);
myOdbcCommand.Connection = odbcConnection1;
odbcConnection1.Open();
myOdbcCommand.ExecuteNonQuery();
odbcConnection1.Close();

et mes nouvelles erreurs:

Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception:
Microsoft.Data.Odbc.OdbcException: ERROR [HY000] [Microsoft][Pilote ODBC Microsoft Access]Erreur générale Impossible d'ouvrir la clé de registre 'Temporary (volatile) Jet DSN for process 0xc64 Thread 0xc70 DBC 0x63733c Jet'.

ERROR [IM006] [Microsoft][Gestionnaire de pilotes ODBC] Échec SQLSetConnectAttr du pilote
ERROR [HY000] [Microsoft][Pilote ODBC Microsoft Access]Erreur générale Impossible d'ouvrir la clé de registre 'Temporary (volatile) Jet DSN for process 0xc64 Thread 0xc70 DBC 0x63733c Jet'.
ERROR [HY000] [Microsoft][Pilote ODBC Microsoft Access] Nom de fichier incorrect.
ERROR [HY000] [Microsoft][Pilote ODBC Microsoft Access]Erreur générale Impossible d'ouvrir la clé de registre 'Temporary (volatile) Jet DSN for process 0xc64 Thread 0xc70 DBC 0x63733c Jet'.
ERROR [HY000] [Microsoft][Pilote ODBC Microsoft Access]Erreur générale Impossible d'ouvrir la clé de registre 'Temporary (volatile) Jet DSN for process 0xc64 Thread 0xc70 DBC 0x63733c Jet'.
ERROR [HY000] [Microsoft][Pilote ODBC Microsoft Access] Nom de fichier incorrect.

qq1 peut m'aider????

Dans la vie faites comme les canards: paraissez zen et serain à la surface et pédalez comme un dingue en dessous!