Datenbank auf anderem PC nutzen
-
Mir wäre es aber ganz lieb wenn ich das programm weitergebe das nur jemand Install drücken muß dann wird alles eingestellt und danch kann man dann einfach das Programm nutzen. Oder gibt es eine datenbankart in Borland wo das regsitrieren entfällt?
-
ok, wie Du willst, dann mach Dich mal mit der ODBC-API-Funktion SqlConfigDataSource vertraut...
-
Hallo
das kommt darauf an WIE du auf die Datenbank zugreifst
- BDE (alt)
- ADO
- eigene Komponentenich zB verwende zZ fuer einen Kunden mySQL
da gibt es (eigentlich) keine Problemeauch mit dBase/Paradox/Access sollte es da keine Schwierigkeiten geben
(wuerde ich aber eher abraten)MfG
Klaus
-
Ich arbeite mit BDE und einer Access Datenbank. Wenn ich jetz umsteige auf SQL muß die dann nicht über ODBC oder ähnlichem registriert werden? Kann die SQL Datenbank auch von Borland erstellt werden oder muß die DB schon vorher existieren wie meine Access DB?
-
Hallo
welche SQL meinst du denn ?
Bei mySQL ist es so:
du benoetigst eine komplette Installation mySQL (Server)
diese kann lokal/Netzwerk/Internet sein (jenachdem was du benoetigst)
Nach dieser Installation kannst du auf diese System zugreifen
(ganz grob gesprochen)- neue DBs erzeugen
- neue Tabellen erzeugen
- Daten ....MfG
Klaus
-
In deinem Fall (Access + BDE) mußt Du wie folgt vorgehen:
Prüfen, ob MDAC installiert -> wenn nicht installieren.
Prüfen, ob BDE installiert -> wenn nicht installieren.
ODBC DSN konfigurieren. (sieh Dir mal die odbcinst.h an)Mir fällt keine DB ein, die komplett ohne irgendwelche systemspezifische Einträge / Treiber auskommt. Am einfachsten wäre es bei Access, ADO zu verwenden, da mußt Du nur sicherstellen, dass die MDAC auf dem Zielrechner installiert ist. Um die Generierung des ODBC Eintrags zu umgehen, kannst Du den Weg über den OLE-DB-Provider für JET-Datenbanken gehen.
-
In deinem Fall (Access + BDE) mußt Du wie folgt vorgehen:
Prüfen, ob MDAC installiert -> wenn nicht installieren.
Prüfen, ob BDE installiert -> wenn nicht installieren.
ODBC DSN konfigurieren. (sieh Dir mal die odbcinst.h an)Mir fällt keine DB ein, die komplett ohne irgendwelche systemspezifische Einträge / Treiber auskommt. Am einfachsten wäre es bei Access, ADO zu verwenden, da mußt Du nur sicherstellen, dass die MDAC auf dem Zielrechner installiert ist. Um die Generierung des ODBC Eintrags zu umgehen, kannst Du den Weg über den OLE-DB-Provider für JET-Datenbanken gehen.
Da muß ich nachher mal zuhause gucken ob ich das hinkriege hoffentlich steht da wa zu in der Hilfe.
@KlausB
Ist mySQL freeware oder kostet das was?
-
Hi,
als Datenbank für meine Programme nutze ich sehr viel die sqlite DB. Dafür muss man nur eine Lib mit einbinden und eine dll mit weitergeben. Es wird kein Server benötigt da es sich um eine Lokale Datei handelt auf die man genauso zugreifen kann wie auf eine SQL Kompatible DB. Ich habe mich schnell zurecht gefunden als ich die ausprobiert habe und muss sagen es ist einfacher als erst alle möglichen Systemkomponenten wie ADO, ODBC etc. zu konfigurieren. Auch muss man keinen Server (MS SQL, MySQL etc) installieren um diese Form nutzen zu können.Man sollte nur einigermaßen Standard C können um sich eine kleine Wrapperklasse zuerstellen. Macht den Umgang und die Integration viel einfacher.
Google einfach mal nach sqlite und du wirst ne Menge ergebnisse erhalten, allerdings auch über die benutzung mit php.
-
Ein neter tip mit der datenbank mein Problem ist nur das ich noch c++ neuling bin und von c gar keine ahnung habe. Könntest du mir sagen wie das mit der wraüüer klasse geht?
-
Das ist eigentlich recht simple.
sqlite ist in Standard C geschrieben und die Wrapperklasse hilft dir einfach bei der Integration in die VCL.Du schreibst dir einfach eine eigene Klasse die du in deine VCL projekte einbinden kannst und die für dich die umwandlung z.B. von AnsiString in char erledigt. Oder so wie ich es gemacht habe. Die abfragen als eine StringList zurückgibt und ich habe noch eine Funktion mit der ich die Abfrage vergleichbar mit einer Ini bekomme.
Das geht aber nur wenn ich nur eine Zeile als Ergebnis erhalte.
Ich weiss ja nicht wieviel Du bisher mit dem BCB gemacht hast, aber wenn Du dich selber als Neuling bezeichnest denke ich mal das es nicht so sehr viel ist.
Dann solltest du vielleicht nicht gleich mit ner DB Anwendung anfangen. Ich denke mal das die problemlose integration der sqlite lib für einen "Neuling" nicht so sehr einfach sein wird. Die ll bzw. lib ist für VC++ geschrieben und muss ersteinmal in die BCB Form gebracht werden. Ok ist nicht wirklich schwer, aber man muss schon wissen wie man das macht.