Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Acces 2013 C#2012 OLEDB Connection
HenneVerl
myCSharp.de - Member



Dabei seit:
Beiträge: 2

Themenstarter:

Acces 2013 C#2012 OLEDB Connection

beantworten | zitieren | melden

verwendetes Datenbanksystem: Acces 2013

Guten Abend zusammen.

Bin grade mitten in der Prüfungsvorbereitung für meine Techniker Püfung und das einfachste funkioniert nicht.

Versuche C# (Visual Studio 2012) und Acces 2013 eine Verbindung herzustellen.

Bekomme aber jedes mal die Meldung: Der 'Microsoft.ACE.OLEDB.12.0'-Provider ist nicht auf dem lokalen Computer registriert.

Habe es mit Acces 2010 auch schon probiert und es klappt nicht.

Nur mit 2007 funioniert es.

habe folgende Office Versionen genutzt:

Microsoft.Office.2013.PRO.VL.SP1.X64
Microsoft.Office.Professional.Plus.2010.SP2.VL.x64

Hat irgendwer ne Ahnung wieso es knallt? An unseren Übungsrechner ist auch Office 2013 und Visual Studio 2012 installiert da geht es.

Danke schonmal im Vorraus. Bin nun echt ratlos.


hier mein Code:


public partial class Form1 : Form
    {
        OpenFileDialog Ofd;
        OleDbConnection Con; 
        
        public Form1()
        {
            InitializeComponent();
            Ofd = new OpenFileDialog();
            Ofd.Filter = "nur Text|*.txt";
        }
     }

private void DBverbinden_Click(object sender, EventArgs e)
        {
            Ofd = new OpenFileDialog();
            Ofd.Filter = "ACCESDATENBANK | *.accdb";

            if (Ofd.ShowDialog() == DialogResult.OK)
            {
                
                Con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Ofd.FileName);
                Con.Open();

                if (Con != null)
                {
                    DBverbinden.Text = "DB Verbunden";
                    DBverbinden.ForeColor = Color.Green;                   
                }
                
            }
        }
private Nachricht | Beiträge des Benutzers
LatinChriz
myCSharp.de - Member

Avatar #avatar-3450.png


Dabei seit:
Beiträge: 211
Herkunft: Vienna

beantworten | zitieren | melden

Kann es an 64Bit (x64) liegen? http://www.altova.com/de/Access-Database-OLEDB-32bit-64bit.html
Kontakt & Blog: www.giesswein-apps.at
private Nachricht | Beiträge des Benutzers
HenneVerl
myCSharp.de - Member



Dabei seit:
Beiträge: 2

Themenstarter:

beantworten | zitieren | melden

das habe ich auch schon intalliert. Hat leider auch nicht geholfen.

Bei einem Schulkollegen auf dem Rechner lässt es sich ohne Probleme starten.

Er hat Office 2007 und Visual Studio 2012 installiert.


In der Kombination hat es bei mir auch geklappt.
Nachdem ich 2007 deinstalliert habe und 13 installiert habe, da wir die Abschlußprüfung auch mit 13 machen, tat sich nichts mehr.

Auch nach kopieren der Daten in ein neues Projekt.
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.977

beantworten | zitieren | melden

Statt rumzuhacken und irgendwas zu probieren solltest du einfach mal verstehen was Du machst.
Ist das nicht auch Ziel deiner Ausbildung?

Der "Microsoft.ACE.OLEDB.12.0" wird halt nicht immer mit installiert.
Microsoft Access Database Engine 2010 Redistributable
private Nachricht | Beiträge des Benutzers
Yankyy02
myCSharp.de - Member



Dabei seit:
Beiträge: 8

beantworten | zitieren | melden

@FZelle,
kann dir nicht ganz folgen. Wenn er Access 2013 installiert hat ist die installation von der Database-Engine nicht notwendig. Ausserdem sagt er daß er Access 2013 verwendet was soll er dann mit deiner 2010er Version? Wenn dann sollte er schon die 2013er Version nutzen. Unter dem Download Button steht eine Erklärung die meine Behauptung untermauern sollte.

MfG
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.977

beantworten | zitieren | melden

Es ist vollkommen schnuppe welche der AccessEngines er installiert, wenn er den 12.0 OldDbProvider benutzt.

Auch du solltest verstehen das er dann nicht Access benutzt, sondern eben den Provider.

Der rest der Engine würde nur gebraucht wenn du eine entsprechende Accessanwendung benutzen willst.
private Nachricht | Beiträge des Benutzers
san-software
myCSharp.de - Member



Dabei seit:
Beiträge: 96

beantworten | zitieren | melden

@Yankyy02

Dein Link verweist auf eine Access Runtime. Die ist nur dafür da, um Access-Programme auszuführen, ohne dass das komplette Access (mit Lizenz) auf dem Rechner installiert ist. Das hat mit einem Provider überhaupt nichts zu tun.

er muß halt den Microsoft.ACE.OLEDB.12.0 Provider installieren und das wars dann schon.
private Nachricht | Beiträge des Benutzers