none
Windows 7 64 Bit Anwendung, AccessDataBaseEngine, Access2003 Datenbanken, Office2003 oder Office 2010 32 Bit

    Question

  • Hallo zusammen;

    wir planen die Entwicklung unseres neuen HMI unter windows 7 64Bit mittels C# und WPF.

    Die applikation soll eine Reihe von Access Datenbanken verwenden. Derzeit verwenden wir noch Office 2003.

    Meine Frage ob das richtig ist ?:

    Ich habe irgendwo gelesen, das es unter win764 bit für eine 64Bit Applikation nicht mehr möglich ist auf ältere Access Datenbankformate (Access2003) zuzugreifen, da für die *.mdb Datenbanken kein 64 Bit Treiber zu verfügung steht.

    Im Falle, das die Applikation als 64 Bit applikation laufen soll, ist zwingend das Access2007/2010 format erfoderlich, was jedoch den 64 Bit Treiber der AccessDatabaseEngine erfordert.

    Dieser Treiber arbeitet jedoch nicht mit einem 32 Bit office zusammen, sodass zwingend Office64 Bit nötig ist, wenn die datenbanken auf deisem rechenr mit Access auch bearbeitet werden sollen .

    Ist das richtig ?

    Oder is das folgende Zenaria doch realisierbar (wenn ja wie, wenn nein warum nicht):

    Windows 7 64 bit, Applikation als 64 bit kompiliert.

    Datenbanken im Office 2003 Format (.mdb) und Wartung / Pflege  dieserDatenbanken mittels Access 2003 (32bit) ?

    Danke für eure Hilfe im Voraus.

    Gruß

    Marc

    Thursday, July 26, 2012 11:40 AM

Answers

  • Hallo Marc,

    wenn es kein Problem bereitet, eure Anwendung(en), die mit Access DBs arbeiten müssen, als 32 Bit Anwendung laufen zu lassen, sehe ich keinen Grund, warum ihr aktualisieren solltet. Bleibt dabei, die neueren Office Versionen können ja auch mit den alten .mdb Dateien umgehen.

    Wenn ihr umstellen wollt, würde ich SQL Server (ggfs. CE oder Express) empfehlen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Marked as answer by Marc Rupprath Tuesday, August 28, 2012 7:14 AM
    Friday, July 27, 2012 11:47 AM
  • Hi,

    In der Tat ist es wirklich so das man, wil mann auf alte *.MDB Datenbanken zugreifen, die Applikation als 32 Bit kompilieren muß, da es für die alte Jet Engine keinen 64 Bit treiber gibt.

    die Jet Engine gibt es nur als 32 Bit Variante, soweit richtig.

    Du kannst aber mit ACE auch auf .mdb Dateien zugreifen, das geht dann grundsätzlich zwar mit 32 und 64 Bit Anwendungen, hier muss man aber aufpassen, welche Officevariante man installiert hat.

    Bspw. kann ein Windows 7 x64 System auch Office 2010 32 Bit installiert haben. In dem Fall kann man ACE x64 nicht installieren, sondern nur die 32 Bit Variante. Ergo muss in dem Fall die Anwendung auch als 32 Bit Anwendung laufen.

    Wenn auf dem obigen System Office x64 installiert ist, darf die Anwendung nicht als 32 Bit Anwendung laufen, da es dann nur die Option "ACE x64" gibt.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Friday, July 27, 2012 8:15 AM
  • Hallo Marc,

    um die .mdb oder .accdb Dateien bearbeiten zu können, ist es egal, ob Du nun Office 32 oder 64 Bit verwendest. Das klappt mit beiden Varianten.

    Lediglich für deine Anwendung ist es wichtig, das Zielsystem zu kennen. Das ist für mich mitunter auch ein Grund, warum ich damit nur ungern arbeite. Es lässt sich zwar manchmal nicht vermeiden aber wenn doch, nutze ich es auch nicht.

    Im Endeffekt ist es aber lediglich eine einzige Änderung, nämlich die des ConnectionStrings.

    New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=X:\Ordner\Test.mdb" );
    
    New OleDbConnection( "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=X:\Ordner\Test.mdb" );
    

    Wenn Du das dynamisch hältst (bspw. über eine config Datei) kann man das problemlos austauschen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Friday, July 27, 2012 8:41 AM
  • Hallo Marc,

    Du kannst auch mit der 64 Bit Version der ACE auf .mdb Dateien zugreifen.

    Die ACE kann nur mit derselben Officevariante nebeneinander existieren. D.h. wenn Office 32 Bit, dann ACE 32 Bit. Wenn Office 64 Bit, dann ACE 64 Bit. Andere Kombinationen gehen nicht.

    Wenn Du Office 32 Bit auf dem Rechner hast, kannst Du eh nur die ACE 32 Bit Variante installieren, von daher ergibt sich das Problem an der Stelle nicht. Einzig die Anwendung, die ACE nutzen will, muss je nach installierter Officevariante entweder als x64 oder als x86 laufen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Friday, July 27, 2012 9:59 AM

All replies

  • Hi,

    wobei mich hier die Frage ereilt : Warum sollen Access Datenbanken verwendet werden ?

    Grüße

    Friday, July 27, 2012 6:45 AM
  • Hallo Pawel;

    Warum sollen Access Datenbanken verwendet werden ?

    1. Das Softwarepacket, worauf wir unserer HMi aufbauen (Visiwin 7) verwendet für "seine" Basisdatenbanken , Datenbanken im Access 2000 Format.

    2. Die Datenbanken , welche unser altes HMI verwendet basieren ebenfalls auf Access, ausserdem wurden die "Produktiionsdatenbanken" seitens der Kunden und

    Service Technicker bislang ebenfalls mittels Access eingesehen und bearbeitet.

    Access im neuen HMI für die systembasis ist somit zwingend.

    Access im neuen HMI für "unsere" Anwendungsspezifischen Datenbanklösungen, ist eine Option.

    Mittlerweile hat sich die frage zumindet für unsere eigenen Datenbanklösungen geklärt, wir werden aus verschiedenen Gründen auf unserem neunen HMI

    als Basis eine SQL Server in der Express Version plazieren.

    Gruß

    PS:

    In der Tat ist es wirklich so das man, wil mann auf alte *.MDB Datenbanken zugreifen, die Applikation als 32 Bit kompilieren muß, da es für die alte Jet Engine keinen 64 Bit treiber gibt.

    Berichtigungen zur letzten Aussage sind jederzeit gerne willkommen.

    Marc

    Friday, July 27, 2012 7:25 AM
  • Hi,

    In der Tat ist es wirklich so das man, wil mann auf alte *.MDB Datenbanken zugreifen, die Applikation als 32 Bit kompilieren muß, da es für die alte Jet Engine keinen 64 Bit treiber gibt.

    die Jet Engine gibt es nur als 32 Bit Variante, soweit richtig.

    Du kannst aber mit ACE auch auf .mdb Dateien zugreifen, das geht dann grundsätzlich zwar mit 32 und 64 Bit Anwendungen, hier muss man aber aufpassen, welche Officevariante man installiert hat.

    Bspw. kann ein Windows 7 x64 System auch Office 2010 32 Bit installiert haben. In dem Fall kann man ACE x64 nicht installieren, sondern nur die 32 Bit Variante. Ergo muss in dem Fall die Anwendung auch als 32 Bit Anwendung laufen.

    Wenn auf dem obigen System Office x64 installiert ist, darf die Anwendung nicht als 32 Bit Anwendung laufen, da es dann nur die Option "ACE x64" gibt.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Friday, July 27, 2012 8:15 AM
  • Hallo Stefan;

    und das bedeutet :

    Wenn wir unter Windows 7 64 bit eine 64 Bit applikation entwickeln wollten / müssten, dann müssten wir dei 64 Bit Variante von Access database Engine verwenden.

    Da wir dann auf unserer Entwicklungsystem die datenbanken bearbeiten wollen müssten wir ebenfalls hier Office 64 verwenden.

    Aufgrund von verschiedenen Informationen zu Problemen und Einschränkungen zu Office 64 Bit werden wir dies solange vermeiden wie möglich.

    PS:

    Sache hat sich aber erledigt, momentan sehe ich keine zwingende Notwendigkeit / Nutzen unsere Applikation als 64 bit Version auszulegen.

    Sollte sich daran etwas ändern werden wir das von euch gesagte natürlich berücksichtigen.

    Vielen Dank einstweilen.

    Friday, July 27, 2012 8:33 AM
  • Hallo Stefan;

    und das bedeutet :

    Wenn wir unter Windows 7 64 bit eine 64 Bit applikation entwickeln wollten / müssten, dann müssten wir dei 64 Bit Variante von Access database Engine verwenden.

    Da wir dann auf unserer Entwicklungsystem die datenbanken bearbeiten wollen müssten wir ebenfalls hier Office 64 verwenden.

    Aufgrund von verschiedenen Informationen zu Problemen und Einschränkungen zu Office 64 Bit werden wir dies solange vermeiden wie möglich.

    PS:

    Sache hat sich aber erledigt, momentan sehe ich keine zwingende Notwendigkeit / Nutzen unsere Applikation als 64 bit Version auszulegen.

    Sollte sich daran etwas ändern werden wir das von euch gesagte natürlich berücksichtigen.

    Vielen Dank einstweilen.

    Friday, July 27, 2012 8:33 AM
  • Hallo Marc,

    um die .mdb oder .accdb Dateien bearbeiten zu können, ist es egal, ob Du nun Office 32 oder 64 Bit verwendest. Das klappt mit beiden Varianten.

    Lediglich für deine Anwendung ist es wichtig, das Zielsystem zu kennen. Das ist für mich mitunter auch ein Grund, warum ich damit nur ungern arbeite. Es lässt sich zwar manchmal nicht vermeiden aber wenn doch, nutze ich es auch nicht.

    Im Endeffekt ist es aber lediglich eine einzige Änderung, nämlich die des ConnectionStrings.

    New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=X:\Ordner\Test.mdb" );
    
    New OleDbConnection( "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=X:\Ordner\Test.mdb" );
    

    Wenn Du das dynamisch hältst (bspw. über eine config Datei) kann man das problemlos austauschen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Friday, July 27, 2012 8:41 AM
  • Hallo Stefan;

    es ging primär nicht um die Frage, ob ich mit Office 32Bit und oder 64bit beide Dateiarten bearbeiten kann. 

    Es ging darum das ich gedacht hatte gelesen zu haben, das es in der 64 Bit version der ACE keine Möglichkeit gäbe auf *.mdb Datenbanken zuzugreifen.

    Ausserdem hatte ich eine Information, das, falls die 64Bit version der ACE verwendet wird, es nicht möglich ist auf diesem SOffice 32 Bit zu verwenden.

    Wenn  ich dein Beispiel richtig wiedergebe zeigt es ja nur, das es möglich ist über ACE auf *mdb zuzugreifen, jedoch nur in der 32 Bit version ?!

    Und selbst wenn, ACE in 64 Bit möglich währe auf alte Access Formate zuzugreifen,erwingt dies immer Office 64 Bit , Office 32 bit auf dem selben Rechner (Entwicklung) ist dann nicht möglich ?

    Gruß

    Friday, July 27, 2012 9:12 AM
  • Hallo Marc,

    Du kannst auch mit der 64 Bit Version der ACE auf .mdb Dateien zugreifen.

    Die ACE kann nur mit derselben Officevariante nebeneinander existieren. D.h. wenn Office 32 Bit, dann ACE 32 Bit. Wenn Office 64 Bit, dann ACE 64 Bit. Andere Kombinationen gehen nicht.

    Wenn Du Office 32 Bit auf dem Rechner hast, kannst Du eh nur die ACE 32 Bit Variante installieren, von daher ergibt sich das Problem an der Stelle nicht. Einzig die Anwendung, die ACE nutzen will, muss je nach installierter Officevariante entweder als x64 oder als x86 laufen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Friday, July 27, 2012 9:59 AM
  • Hallo;

    danke noch mal ;-)

    Das heisst dann also:

    Wenn wir also eine 64 Bit Applikation entwickeln, wird auf dem Entwicklungssystem und auf dem Runtime system die ACE in 64 bit installiert.

    Dann können wir die Datenbanke mit unseren Office 32 Bit Versionen warten, nur darf sich das Office dann eben nicht auf dieen rechner befinden.

    Müssen wir überlegen.

    Was anderes: Ich sind eigentlich die wesentlichen Vorteile der ACE gegenüber der Jet Engine, ich habe hierzu nur ein paar pauschale floskeln im Netz gefunden

     "besser", "performanter", etc...

    Gibt es eine Übersicht, was sich Konkret zwischen Jetengine und ACE geändert hat.

    Danke nochmals. 

    Friday, July 27, 2012 10:31 AM
  • Hallo Marc.

    konkrete Änderungen sind "besser" und "performanter" :)

    Im Grunde genommen ist die einzige wirkliche Änderung, die ich so entdeckt habe, die Möglichkeit, mit .accdb und .xlsx Dateien umgehen zu können. Das kann die Jet-Engine nicht.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Friday, July 27, 2012 10:38 AM
  • Nochmals Hallo Stefan;

    Mal sehen ob Ich wieder Sachen vermische:

    Die ACE arbeitet generell "besser" und "schneller" als die Jet Engine , oder nur in Verbindung mit den .accdb Dateien

    warum frage ich dies:

    unabhängig von der frage, ob wir bei Access bleiben oder ein anderes DBMS verwenden:

    In unserem Unternehmen ist Access 2003 noch weit verbreitet, oder wird gerade erst eingeführt ;-).

    Wenn wie für uns (unsere Abteilung, HMI entwicklung) entscheiden würden, das ein wechsel von *.MDB zu .accdb signifikante Verbessungen in Bereich auf die

    Hantierungsgeschwindigkeit mit unseren Datenbanken hätte, hätte dies weitreichende Folgen.

    Jeder Techniker der unsere Datenbanken warten und bearbeiten müsste müsste ein neues Office erhalten.

    Solange wir also keinen signifikanten Vorteil ermitteln können werden wir dies nicht tun (oder eben , wie ebenfalls in Überlegung das DBMS Komplett hin zu SQL Server express o.ä wechseln wie oben beschrieben.

    Gruß

    Friday, July 27, 2012 11:23 AM
  • Hallo Marc,

    wenn es kein Problem bereitet, eure Anwendung(en), die mit Access DBs arbeiten müssen, als 32 Bit Anwendung laufen zu lassen, sehe ich keinen Grund, warum ihr aktualisieren solltet. Bleibt dabei, die neueren Office Versionen können ja auch mit den alten .mdb Dateien umgehen.

    Wenn ihr umstellen wollt, würde ich SQL Server (ggfs. CE oder Express) empfehlen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Marked as answer by Marc Rupprath Tuesday, August 28, 2012 7:14 AM
    Friday, July 27, 2012 11:47 AM
  • Hallo Marc Rupprath,

    Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert


    Robert Breitenhofer, MICROSOFT  Twitter Facebook
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Monday, August 27, 2012 1:20 PM