Laden...

Access Datenbank Problem Windows XP x64

Erstellt von tonka vor 16 Jahren Letzter Beitrag vor 14 Jahren 5.762 Views
tonka Themenstarter:in
373 Beiträge seit 2006
vor 16 Jahren
Access Datenbank Problem Windows XP x64

Hallo,

habe seit kurzem eine 64 Bit Maschine (Win XP x64). Ich habe nun das Problem, wenn ich mich mit der Datenbank verbinden will, kommt die Exception " 'Microsoft.Jet.OLEDB.4.0'provider is not registered". Auf der 32 Bit Maschine hat der Connectionstring ohne probleme funktioniert und meiner Meinung nach hängt ja der Connectionstring von der Art der Datenbank und nicht vom Betriebsystem ab. Was ist mit "not registered" gemeint, ist etwas in der Registry falsch eingetragen oder gar nicht vorhanden. Die Datenbank ist eine Access 2000 Datenbank. Ich kann auch auf keine andere umsteigen, das ist mir leider so vorgegeben. Die Datenbank lässt sich normal aufmachen, wenn man nur mit Access öffnet.

Hat jemand von euch eine Lösung für das Problem?

Hier der Source-Code:



//Datenbankzugriff
            
OleDbConnection con = null;
String strSQL = "";
OleDbDataReader dr = null;
try
{
    con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\USER.MDB");

    strSQL = "SELECT * FROM tblUser";
    DataSet ds = new DataSet();

    OleDbCommand cmd = new OleDbCommand(strSQL, con);
    con.Open();
    dr = cmd.ExecuteReader();

    while (dr.Read())
    {
        //Datenbank Daten auslesen
    }
                
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}
finally
{
    if (dr != null)
    {
        if (dr.IsClosed == false)
        {
            dr.Close();
        }
     }
     if (con != null)
     {
          con.Close();
     }
}


Die Exception tritt bei "con.Open()" auf.

MfG
Tonka

S
489 Beiträge seit 2007
vor 16 Jahren

Steht doch klar und deutlich in der Fehlermeldung: der Jet Treiber scheint nicht installiert zu sein.

tonka Themenstarter:in
373 Beiträge seit 2006
vor 16 Jahren

Hy

Wie installiere ich den JET-Treiber???

MfG
Tonka

PS: Tschuldige für die dumme Frage, hab das erste mal mit Datenbanken zu tun!

F
10.010 Beiträge seit 2004
vor 16 Jahren

Es gibt keinen für 64Bit windows.

tonka Themenstarter:in
373 Beiträge seit 2006
vor 16 Jahren

Hy

Gibt es das Problem mit einer SQL-Datenbank mit Windows XP 64 Bit? Wenn ja, gibt es eine Datenbank die sowohl unter 32 als auf 64 Bit funktioniert???

MfG
Tonka

F
10.010 Beiträge seit 2004
vor 16 Jahren

Sql-Server ( und Express), und Sql-Server Compact laufen unter beiden.

Von SQLite, Firebird, Postgres und MySql gibt es auch lauffähige versionen.

tonka Themenstarter:in
373 Beiträge seit 2006
vor 16 Jahren

Danke FZelle, für die tolle Information. Werd mich wohl mit meinem Chef beraten müssen, was wir für eine neue Datenbank wählen. Aber SQL würde mir am sinnvollsten erscheinen.

Danke nochmal.

MfG
Tonka

1.274 Beiträge seit 2005
vor 16 Jahren

Seid ihr euch sicher das das nicht geht, es gibt unter download.microsoft.com
eine IA64 Treiber. Da wird es ja auch für den X64 was geben bzw. der X32 Treiber müsste doch funktionieren

Lg.
L.G.

PS: Erster Beitrag nach dem Urlaub

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

tonka Themenstarter:in
373 Beiträge seit 2006
vor 16 Jahren

Hallo,

also für WinXP x64 hab ich leider nichts gefunden, nur für Windows Server 2003 und eben IA64. Hast du was gefunden?

MfG
Tonka

906 Beiträge seit 2005
vor 16 Jahren

die Frage gab es schon öfters. Es gibt keine Jet4.0 x64 Engine. Stell in den Projektoptionen die Plattform auf 32Bit und dein Programm läuft unter WinXP x64 und unter Vista x64.

M
8 Beiträge seit 2009
vor 14 Jahren

Ich reaktiviere diesen Thread hier mal, da ich das selbe Problem habe, wie oben erwähnt ist. Jedoch sind inzwischen 3 1/2 Jahre vergangen.

Weiss jemand, ob da in der Zwischenzeit etwas gegangen ist mit einer Alternative für den Microsoft.JET.OLEDB.4.0-Provider?

Wenn es geht, möchten wir unsere Applikation, (von der wir aus historischen Gründen auf .mdb-Datenbanken zugreifen müssen) auf Any CPU builden und nicht auf x86 umstellen. Eine Umstellung auf x86 wäre der letzte Ausweg.

Ich habe mal das "2007 Office System Driver: Data Connectivity Components" Paket runtergeladen, aber das scheint das selbe Problem zu haben (wenn ich als Connection String "Microsoft.ACE.OLEDB.12.0" verwende).

Vielen Dank schon mal für die Hilfe.

906 Beiträge seit 2005
vor 14 Jahren

du musst mal Office 2010 probieren. Die gibt es ja als 64Bit Version. Installiere mal die Beta2 von der Access Runtime (http://www.microsoft.com/downloads/details.aspx?FamilyID=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=de) und schau mal ob es mit einer 64Bit Anwendung klappt.

M
8 Beiträge seit 2009
vor 14 Jahren

Hm, das bringt noch vor der Installation die angehängte Messagebox.
Kommt wohl eher nicht in Frage...

906 Beiträge seit 2005
vor 14 Jahren

hast du mal die 32Bit Acces Runtime deinstalliert?

M
8 Beiträge seit 2009
vor 14 Jahren

Nein, die deinstallation der bestehenden Office-Produkte ist wohl eher kein Thema. Die Applikation muss auch mit den alten Office-Versionen laufen (wir greifen auch auf Word und PowerPoint zu).

Wir werden wohl wirklich für x86 builden müssen.

B
153 Beiträge seit 2007
vor 14 Jahren

HALLO ganz einfach, 64 bit braucht kein Mensch immer das 64 Bit gehabe, stelle dein Projekt um auf 32 Bit unter Projekt --> Erstellen --> von AnyCPU auf 32 Bit (x86). Dann gehts (haste aber nicht bei express)

F
10.010 Beiträge seit 2004
vor 14 Jahren

Es gibt genug Anwendungen die mit grossen datenmengen arbeiten müssen,
die sich dann unter 32Bit extrem mit algorythmen beschäftigen müssen,
wie man das da hinbekommt.

Nur weil Du 64Bit nicht brauchst oder Ausschöpfen kannst,
heisst das nicht, das es niemand braucht.

Und natürlich gibt es den Punkt auch bei Express.