AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Access DB Portieren ohne Access installiert zu haben
Thema durchsuchen
Ansicht
Themen-Optionen

Access DB Portieren ohne Access installiert zu haben

Ein Thema von FAlter · begonnen am 24. Sep 2008 · letzter Beitrag vom 24. Sep 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#1

Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 16:49
Datenbank: Access • Zugriff über: Draum gehts ja gerade! Warum ist das ein Pflichtfeld?
Hi,

ich möchte zwei Programme mit TurboDelphi schreiben.

1. Ein Programm, das einmalig ausgeführt werden soll, dass eine bestehende MDB in ein günstigeres DB-Format umwandelt.

2. Ein Programm, das dann mit dieser neuen DB arbeitet.

Es sollen beide Programme ohne Installation weiterer Software lauffähig sein.

Habt ihr eine Idee dafür, wie ich die Access DB umwandeln kann, und welche DB für später geeignet wäre (eine ohne Installation von irgendwas!)? Zugriff soll über eine eigene Klasse erfolgen, die noch entwickelt werden wird und zu einem bestehenden Framework gehört, also nicht über bestehende Komponenten. Sollte also möglichst einfach handhabbar sein, da mir keine Komponente die Arbeit abnehmen soll.

[edit] Ich weiß (noch) nicht was in der DB drin ist, das muss das Portierungsprogramm auslesen, also welche Tabellen mit welchen Feldern. [/edit]

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 16:54
Definiere günstigers Format?
Definiere deine Anforderungen genauer (Größe/Kosten/Lizenzen/...). So wie es jetzt ausschaut würde das sonst das Wöchentliche "Ich empfehle Datenbank xyz"
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 16:54
Hallo,

Access lesen sollte über Ado gehen.

Datenbank ohne Installation?

TDBF ist eine Komponente, die DBase und Co ohne BDE kann, wäre das was?

Stephan
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 16:54
Ankieken von Jet-DBs geht zum Beispiel mit AnySQL
Öffnen im Program geht mit dem OLEDB Provider für Jet über ADO. (DP Suche sollte da genug bringen)
Als lokales DBMS kämen die üblichen Verdächtigen wie SQLite oder Firbird embedded (für exklusiven Zugriff), oder bevor ich es wieder vergesse: Für Delphi gäbe es da die kostenlose embedded von NexusDB.

Kein einziges davon ist als storage engine auch nur annähernd so schrecklich wie Jet.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 17:36
Hi,

ich wünsche mit eine schnelle Mailbenachrichtigung... die kam aber viel zu spät an!

Günstigeres Format als Access soll ich definieren? Naja, alles ungleich Access... sozusagen. Also schneller, einfacher, gut aber nicht notwendig wäre: kein * und ?, sondern % und _, außerdem ' statt " für Strings. Und es wäre ganz toll, wenn ich das gleiche Format dann auch noch für meine Haushaltsbuch nehmen könnte, das verwendet derzeit noch CSV, aber ich wills einfacher haben, da was an Funktionen zu erweitern.

Größe: derzeit eine .mdb < 2 MiB, aber stetig wachsend.

Lizenzen/Kosten: Muss nicht OpenSource sein, wäre aber cool, aber kostenlos auf jeden Fall, auch für kommerzielle Nutzung (auch wenn es vorerst nur privat genutzt wird, und wer weiß, wozu ich meine Klassen dann später noch nutzen möchte).

Der Zugriff sollte ohne irgendwelche Komponenten stattfinden, ich will es ja in was eigenes einbauen, und dann den Umweg über eine Komponente gehen ist ja suboptimal.

ODBC fällt weg, da es beizeiten evtl. ein Delphi für Win64 geben wird und ich das Programm damit hoffentlich nur neucompilieren muss, und guckt mal, was es da noch für 64-Bit-ODBC Treiber gibt. (Hoffentlich hab ich bis dahin genügend Geld übrig, mir das neue Delphi auch zu kaufen, z. Zt. könnte ich mir keins leisten, und einen neuen PC mit nem neuen Win brauch ich dazu ja auch.)

Steht ADO bei ner frischen Win-Installation (insbesondere XP, Vista und 2008) zur Verfügung? Ich hätte gerne, dass das Programm auch auf nem 2008er laufen kann, um die DB zu portieren. Oder dessen Nachfolger, wer weiß wanns nicht mehr ein rein privates Projekt sein wird, jedenfalls will ich das offen lassen... Wann auch immer, das steht noch in den Sternen. Vor allem, welche Version, da stehen ja dutzende zur Verfügung, bei Vista ist eine davon anders als bei XP. Und ich kann sie nicht direkt mit TD importiern. Das waren jedenfalls die Dinge die mir unklar waren. Ansonsten denke ich kann ich in meinen eigenen Aufzeichnungen nachsehen, in ner anderen Sprache (fragt lieber nicht ) hab ich schonmal mit ADO auf Access zugegriffen.

Soweit zu den fehlenden Infos. Jetzt versuch ich erstmal zu gucken, was in der DB drin ist, um mir weiter nen Plan zu machen.

Ok, ich hab auf Vorschau statt absenden geklickt... Also AnySQL kanns mir schon mal anzeigen, jetzt weiß ich was drin ist.

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 17:51
Zitat von FAlter:
Günstigeres Format als Access soll ich definieren? Naja, alles ungleich Access... sozusagen. Also schneller, einfacher, gut aber nicht notwendig wäre: kein * und ?, sondern % und _, außerdem ' statt " für Strings.
Diese Eigenheiten fallen beim Zugriff über ADO weg.

Zitat von FAlter:
Größe: derzeit eine .mdb < 2 MiB, aber stetig wachsend.
Also "Spielzeug-"Datenbank.

Zitat von FAlter:
Lizenzen/Kosten: Muss nicht OpenSource sein, wäre aber cool, aber kostenlos auf jeden Fall, auch für kommerzielle Nutzung (auch wenn es vorerst nur privat genutzt wird, und wer weiß, wozu ich meine Klassen dann später noch nutzen möchte).
Dann Fällt schon mal MySQL weg

Zitat von FAlter:
Der Zugriff sollte ohne irgendwelche Komponenten stattfinden, ich will es ja in was eigenes einbauen, und dann den Umweg über eine Komponente gehen ist ja suboptimal.
Wenn du meinst. Ich würde mir die vereinfach die eine Komponente (oder nur Zugriffsklasse) bietet nicht missen wollen.

Zitat von FAlter:
Steht ADO bei ner frischen Win-Installation (insbesondere XP, Vista und 2008) zur Verfügung
Solange es keine Embeddes-Version ist kannst du über ADO darauf zugreifen. Bei Embedded-Versionen wird sie hin und wieder weggelassen und kann auch nicht über Diverse JET-Installer nachinstalliert werden.

Schau dir auch mal ZEOS an. Ist OpenSource und hat für diverse DB's (z.B. sqlite war für deine DB-Größe ganz passend ist) Zugriffsmöglichkeiten.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 18:08
Hi,

wo ist denn ADO? AFAIR heißt das "Microsoft ActiveX Data Objects Version ..." aber das finde ich nicht! Hab ich gar kein ADO auf meinem PC?

Oder hab ich da was falsch verstanden? In dieser Sprache musste man da ne Typbibliothek importieren. Weiß ich noch ganz genau, vorher ging gar nichts.

@Komponente: Die Vereinfachungen mach ich ja in meiner eigenen Klasse, das geht dann ganz von SQL weg, damit ich bloß keine Fehler mehr mache.

@sqlite: Ich denke ich brauche diese:

Zitat:
sqlitedll-3_6_3.zip
(224.99 KiB) This is a DLL of the SQLite library without the TCL bindings. The only external dependency is MSVCRT.DLL.
Und diese

Zitat:
sqlite_docs_3_6_3.zip
(1.71 MiB) This ZIP archive contains most of the static HTML files that comprise this website, including all of the SQL Syntax and the C/C++ interface specs and other miscellaneous documentation.
[edit] Gibts sone Unit auch für sqlite, wo man nur die Header von C übersetzt hat uns sonst nix? [/edit]

Mfg
FAlter
Miniaturansicht angehängter Grafiken
71494846_496.png  
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 18:22
Zitat von FAlter:
wo ist denn ADO? AFAIR heißt das "Microsoft ActiveX Data Objects Version ..." aber das finde ich nicht! Hab ich gar kein ADO auf meinem PC?
Oder hab ich da was falsch verstanden? In dieser Sprache musste man da ne Typbibliothek importieren. Weiß ich noch ganz genau, vorher ging gar nichts.
Hat Codegear schon gemacht. Liegt bei den Turbo unter der Reiterseit dbGo bzw. ADOExpress.

Zitat von FAlter:
@Komponente: Die Vereinfachungen mach ich ja in meiner eigenen Klasse, das geht dann ganz von SQL weg, damit ich bloß keine Fehler mehr mache.
Eine Datenbank und dann kein SQL. Das ist dann wie Fußball ohne Ball.

Zitat von FAlter:
@sqlite: Ich denke ich brauche diese..
In der Art. Letztendlich reicht dir eine DLL da die MSVCRT.DLL in jedem aktuellen Windows schon dabei ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 18:31
Zitat von Bernhard Geyer:
Hat Codegear schon gemacht. Liegt bei den Turbo unter der Reiterseit dbGo bzw. ADOExpress.
Naja, ich wollte eigentlich direkt auf das ActiveX-Objekt zugreifen und eben nicht wieder über nen Umweg. Aber OK, ich mach mich mal auf die Suche.

Hmm, es gibt ne ADODB200.pas und ne ADODBXP.pas. Heißt das die sind unter beiden OSsen inkompatibel? Ist die XP-Variante wenigstens Vistakompatibel/2008-kompatibel?

Zitat:
Eine Datenbank und dann kein SQL. Das ist dann wie Fußball ohne Ball.
Nö, das ist nur absolut sicher gegen SQL-Injection, weil man nix vergessen kann, und kompatibel zu irgendwelchen DB-Ähnlichen Gebilden, die kein SQL verstehen.

Zitat:
In der Art. Letztendlich reicht dir eine DLL da die MSVCRT.DLL in jedem aktuellen Windows schon dabei ist.
Ok, jetzt muss ich nur noch die Unit zur DLL-Einbindung schreiben oder finden...

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Access DB Portieren ohne Access installiert zu haben

  Alt 24. Sep 2008, 18:35
Zitat von FAlter:
Hmm, es gibt ne ADODB200.pas und ne ADODBXP.pas. Heißt das die sind unter beiden OSsen inkompatibel? Ist die XP-Variante wenigstens Vistakompatibel/2008-kompatibel?
Nee. Bedeutet nur ab welcher OS-Version die Schnittstellen verfügbar sind. Mit einer 2000er kannst du locker unter Vista arbeiten.

Zitat:
Nö, das ist nur absolut sicher gegen SQL-Injection, weil man nix vergessen kann,
Einfach alles über parametrisierte Abfragen machen und gut ist.

Zitat:
und kompatibel zu irgendwelchen DB-Ähnlichen Gebilden, die kein SQL verstehen.
Und die wären? Über ADO stellt MS dirverse Infos bereit die keine DB sind aber per SQL abfragbar sind.

Zitat:
Ok, jetzt muss ich nur noch die Unit zur DLL-Einbindung schreiben oder finden...
Wie wäre es z.B. mit ZEOS. Einfach den dortigen DLL-Header verwenden wenn du unbedingt keine Komponenten willst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz