2010-12-13 4 views
1

hey, je suis nouveau à se connecter à des bases de données et pour une raison quelconque à chaque fois que j'utilise les lignes suivantes mon effondrement du programme:comment se connecter à l'accès 2007 avec C#

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|\Company.accdb" 
    OleDbConnection con = new OleDbConnection(connectionString); 

dans mon dossier de débogage i got Company .accdb fichier d'accès modifier: Je reçois le fournisseur «Microsoft.Ace.OLEDB12.0» n'est pas enregistré sur la machine locale aucune idée comment le résoudre? merci d'avance pour votre aide

+0

Quel est le message d'erreur que vous obtenez? –

+0

Eh bien, vous êtes la propriété de la source de données ne semble pas trop bon? –

+0

Eh bien je ne voulais pas montrer le tout son code un peu trop pour montrer que je sais que le programme s'effondrer là ... quand je mets essayer et attraper, je reçois l'exception suivante: "le type initialisateur a jeté une exception qui ne dire beaucoup –

Répondre

2

Deux choses -

  1. Cette chaîne de connexion se fondent sur le fournisseur ACE OLEDB (vient généralement avec Office 2007 - la machine doivent avoir ce fournisseur)
  2. chaîne de connexion est demande de dictionnaire de données. Vous devez probablement utiliser le formulaire ci-dessous:

    Fournisseur = Microsoft.ACE.OLEDB.12.0; Source de données = C: \ myFolder \ myAccess2007file.accdb; Persist Security Info = False;

Pour les fichiers protégés par mot de passe, la forme serait Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;

Je vous suggère également d'essayer autre fournisseur (ODBC peut-être) à la place. Pour les différentes chaînes de connexion pour Access 2007, référez-vous à http://www.connectionstrings.com/access-2007

+0

Je reçois le fournisseur 'Microsoft.Ace.OLEDB12.0' n'est pas enregistré sur la machine locale aucune idée comment le résoudre? –

+0

@Nadav, comme dit, ce composant vient généralement avec office 2007. Quoi qu'il en soit, vous pouvez le télécharger à partir de http://www.microsoft.com/downloads/en/details.aspx?familyid=7554f536-8c28-4598-9b72-ef94e038c891&displaylang=en – VinayC

+0

Apparemment, il existe d'autres raisons pour cette erreur autre que n'est pas installé (voir commentaire OP). – Fionnuala

Questions connexes