Hallo,
Ich habe ein Programm gemacht welches eine Datenbank benutzt um Daten zu speichern. Ich hab die Datenbank unter Access erstellt jedoch hat die Person die das Programm benutzt kein Access. Deshalb meine Frage: gibt es eine Datenbank welche immer vorhanden sind, also ohne das man diese Installieren muss?
WHAT DOES THE FOX SAYS
Nein. Man muss sowas immer mit liefern, zB Embedded Datenbanken wie SQLite.
Dazu wirst Du auch unzählige Treffer hier im Forum finden.
Access als Datenbank zu bezeichnen; fragwürdig.
Empfehlenswert jedenfalls auf keinen Fall.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Und wenn man sich "Microsoft Access 2013-Runtime" funktioniert das dann auch so oder muss dafür access installiert sein?
WHAT DOES THE FOX SAYS
Warum mit aller Gewalt Access verwenden? Warum das Leben schwerer machen?
Access ist - aus meiner Sicht - eine Krankheit und hat vor allem in .NET Umgebungen überhaupt keine Daseinsberechtigung mehr.
Schau Dir SQLite oder andere etablierte Embedded Datenbanken an - die sind genau für so ein Szenario entwickelt worden.
Wenn Du es dennoch verwenden willst: ich kann dazu nicht helfen.
Ich mach um solchen Themen große Bögen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Ich weiß dass selbst jedoch hab ich das gesamte programm schon mit der access datenbank programmiert und das alles umzuändern wäre zu viel arbeit und würde zu lange dauern
WHAT DOES THE FOX SAYS
und das alles umzuändern wäre zu viel arbeit und würde zu lange dauern
Dann hast du die SW aber schlecht implementiert, wenn das Ändern der DB so viel Arbeit ist.
Aber natürlich geht es mit der AccessRuntime ( in der richtigen Version ) ohne installiertes Access, dafür ist die doch gedacht.
Du solltest aber evtl mal darüber nachdenken soetwas VOR der Entwicklung zu bedenken.
Dann hast du die SW aber schlecht implementiert, wenn das Ändern der DB so viel Arbeit ist.
siehe dazu auch: [Artikel] Drei-Schichten-Architektur
Christian
Weeks of programming can save you hours of planning
hallo remling!
Ich habe im letzten Jahrhundert mal ein kleines Tool mit dem Borland C++ Builder gemacht, in dem auf eine "Access Datenbank" zugegriffen wurde. Kann mich aber an nichts Genaueres mehr erinnern, ausser: Das Programm MS Access benötigtst du auf dem Zielrechner nicht (ist aber auf dem Entwicklungsrechner hilfreich, um die Datenbank zu entwerfen), die Datenbank-Datei hat die Extension mdb und du musst die Microsoft Jet Engine installieren. Alles weitere müsstest du ergoogeln.
Ich würde aber auch eher zu MS SqlServerCompact oder sowas raten.
Wenn Du die Access-"Datenbank" nur als Datenbank verwendest, als ohne irgendwelches Oberflächen-Gefrickel, dann benötigst Du auf dem Computer, auf dem Dein Programm dann läuft, gar kein Access (auch keine Runtime).
Das hat Microsoft schon so aufgebaut.
Du benötigst anb Windows 7 einfach nur den Microsoft.ACE.OLEDB.12.0-Provider. Den kannst Du bei MS kostenlos runterladen.
Bei Windows XP wäre das allerdings noch der Microsoft.Jet.OleDB.4.0
Aber ansonsten gebe ich meinen Kollegen Recht: Access solltest Du hier möglichst nicht mehr verwenden.
Da bist du etwas falsch informiert.
Der OleDB 12 ist in der AccessRuntime enthalten, den bekommt man nicht allein.
... das alles umzuändern wäre zu viel arbeit und würde zu lange dauern
es dauert mindestens genausolange das ganze so hinzufriemeln, dass es es läuft. Ich bin mir sicher, dass, wenn du alles abstahiert hast/hättest das kein allzu grosser Aufwand wäre. Und danach hast du eine Lösung (mit dem bereits genannten SQLite beispielsweise), die flexibler ist und überall verhebt. Weil sie, auch schon gesagt, eben dafür gemacht wurde.
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
@FZelle
Doch gibt es als Download:
Microsoft Access Database Engine
So verwenden Sie diesen Download
....
Wenn Sie Anwendungen mit OLEDB entwickeln, legen Sie das Argument Provider der Eigenschaft ConnectionString auf "Microsoft.ACE.OLEDB.12.0" fest.