Autor Beitrag
OliverN_26
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: So 26.12.10 19:39 
Hi Leute

Wo liegt, wenn ich ein Programm schreibe, was auf eine Datenbank zugreift (.db), denn die Kopie meiner Datenbank?
Wenn ich das Programm deinstalliere und wieder neu installiere sind die Daten die ich zuvor in die Datenbank geschrieben habe immer noch da.
Das ist in Ordnung. Gestern habe ich allerdings ein neues Feld in die Datenbank eingefügt und nun sagt er mir ständig dass er DIESES Feld nicht
in der Datenbank findet und ich bekomme deswegen einen Fehler. Die .db Datenbank Datei liegt in meinem Programmordner aber darauf scheint er nicht zuzugreifen :-(
Wo und wie kann ich das denn aktualisieren?

Ich bin hier seid 2 Tagen echt am verzweifeln.
Bitte helft mir :-(

danke
lg
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: So 26.12.10 20:25 
Hi,
ohne angabe welche komponente du benutzt wird es schwer. meine kristallkugel habe ich leider nicht zur hand;)

gruss
tankard
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: So 26.12.10 20:54 
Klingt als ob Du in die Virtualisierung von Vista oder Windows7 reinläufst (DB im Windows oder Programm(unter)ordner).
Such mal in C:\ProgramData\?? ()
oder
C:\Users\USERNAME\AppData\Local ()

beide im Explorer default unsichtbar
ALT+X Ordenroptionen Ansicht "Augeblendete Dateien, Ordner und Laufwerke anzeigen"

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
OliverN_26 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: So 26.12.10 23:06 
Hallo

Also der Tip mit dem "VirtualStore" war schon mal goldrichtig.
Da habe ich tatsächlich Ablagen der alten Datenbank gefunden, aktualisiert und nu läuft es wieder.
Aber ich hab jetzt ein anderes sehr kurioses Problem.
Mein Programm verwendet ne Paradox Datenbank (lüncht mich nich gleich .. ich weiss ja Bescheid) und jedes Mal wenn ich das Programm starte daget der mir
"Exception EDBEingineError in Modul.. - Unknow Database. Alias: .."

Das bedeutet dass der DatenbankName nicht angelegt ist --> stimmt aber nicht. Wenn ich das BDE KonfigurationsTool "BDE-Administrator" starte steht da die Datenbank
und das kuriose ist, sobald der Manager geöffnet ist läuft das Programm so wie es soll. Schliesse ich den BDE-Administrator sagt der mir "Unknown Databas".
Was soll das? So Probleme hatte ich doch sonst nicht ...

Und bitte .. keine Predigten über BDE oder nich. Ich weiss die is veraltet und wird nich mehr weiter entwickelt. Für kleinere Homeprojekte nutze ich sie trotzdem ab und an.

Vielen Dank
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 26.12.10 23:19 
Das Problem ist, dass die BDE nun einmal mit Vista und Windows 7 nicht richtig funktioniert. Das ist so, Punkt. In größeren Projekten, insbesondere in Firmen, ist die Ablösung nicht so einfach, deshalb wird sie da auch heute noch verwendet. Aber ausgerechnet in kleinen Projekten? :shock:
Na gut, wenn du dir das Leben schwer machen willst...

Das Problem kann auch hier die Virtualisierung sein. Die BDE-Administrationsoberfläche muss mit Adminrechten gestartet werden, damit sie in den Pfad schreiben kann. Wurde aber vorher die idapi32.cfg bereits virtualisiert erstellt, dann gibt es davon zwei...
Wenn du jetzt die BDE-Konfiguration startest, benutzt die die eine Datei mit den einen Einstellungen. Und setzt z.B. auch die Pfade entsprechend. Wenn du dann dein Programm startest, ist alles ok.

Startest du jetzt das Programm alleine, wird aber evtl. eine andere Version der Datei benutzt. Schau einmal, ob auch die idapi32.cfg im VirtualStore liegt.

Dann ist noch das eingestellte Verzeichnis wichtig. Standardmäßig ist das das Laufwerk C: direkt im Root. Leider existiert das aber a nicht immer und b ist es in der Regel nicht beschreibbar...
Du musst also in der Konfiguration alle Pfade auf ein beschreibbares Verzeichnis setzen.

Dazu kommt, dass das Private Dir bei jeder Instanz deines Programms ein anderes sein sollte. Die Verzeichnisse (SessionDir, ...) solltest du deshalb beim Programmstart in der ersten Unit in der uses des Projekts korrekt setzen und die BDE auch gleich initialisieren.

Leider hilft auch das alles nur bedingt, aber zumindest wenn nur auf einem PC ohne Netzwerkfreigaben auf die Datenbank zugegriffen wird, läuft es so in der Regel stabil. Leider auch nicht 100%ig immer.

Deshalb kannst du viel versuchen, aber wenn es nur ein kleineres Projekt ist, wäre es viel viel einfacher gleich auf ein ordentliches Datenbanksystem umzusteigen. Erstens hast du dann deutlich weniger Probleme, zweitens deutlich mehr Features und drittens ist es bei kleineren Projekten auch teilweise deutlich einfacher (bei größeren leider nicht unbedingt...).
OliverN_26 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: So 26.12.10 23:59 
Hey

Alles klar. Lag wirklich daran. Auch diese Datei lag in dem VirtualStore Ordner. Dann weiss ich jetzt zumindest woran das gelegen hat.
Thema BDE. Ich weiss das ihr Recht habt, aber 1. habe ich eine BDE Version für Windows 7 64-Bit und die läuft 1A und 2. nutze ich sie wohl da ich nich der Mega Programmierer bin und ehrlich gesagt nich wirklich weiss welches Datenbanksystem "einfach" und "ordentlich" ist. Hatte da schon mal mit den ADO Komponenten angefangen aber nich so richtig geschnallt.

Hast du eine "einfache" alternative für nen Laien?

Und danke noch mal für die Tips.
Mein eigentliches Problem ist zumindest gelöst.

lg

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 27.12.10 01:44 
user profile iconOliverN_26 hat folgendes geschrieben Zum zitierten Posting springen:
aber 1. habe ich eine BDE Version für Windows 7 64-Bit
Das ist unmöglich, denn die BDE wird seit August 2001 nicht mehr weiterentwickelt. Wie soll denn zu dem Zeitpunkt jemand bereits für Windows 7 entwickelt haben?

Außerdem merkst du doch an den Problemen mit dem VirtualStore, dass die BDE eben gerade nicht für Windows 7 geeignet ist, da diese schlicht ins eigene Verzeichnis schreiben will, was natürlich schief geht.

user profile iconOliverN_26 hat folgendes geschrieben Zum zitierten Posting springen:
Hast du eine "einfache" alternative für nen Laien?
Kommt darauf an was dir wichtig ist. Es gibt z.B. embedded Datenbanken, die keinerlei Installation benötigen. Die brauchen höchstens ein paar DLLs, die einfach im Programmverzeichnis liegen können.

Es gibt z.B. SQLite for Delphi:
sqlite4delphi.sourceforge.net/

Dann noch Firebird Embedded, z.B. auch in Kombination mit Zeos. Und auch noch diverse andere.
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mo 27.12.10 01:47 
Un wenn Du den Gratismercedes mit guter Oberfläche und allen Möglichkeiten willst SQLExpress 2005 oder 2008 mit ADO.

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
OliverN_26 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: Mo 27.12.10 03:07 
Danke euch .. werd mir das mal ansehen.
Ich weiss dass die BDE nicht weiterentwickelt wurde, allerdings gibt es Update Versionen die die letzte BDE, wie in meinem Fall, unter Windows 7 64-Bit z.B. zum laufen bringen.

cu
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 27.12.10 06:43 
user profile iconOliverN_26 hat folgendes geschrieben Zum zitierten Posting springen:
Ich weiss dass die BDE nicht weiterentwickelt wurde, allerdings gibt es Update Versionen die die letzte BDE, wie in meinem Fall, unter Windows 7 64-Bit z.B. zum laufen bringen.
Welche meinst du? Das letzte Update, das ich kenne, ist die Version 5.2, und das funktioniert unter Windows 7 nicht vollständig. Und die Probleme mit dem VirtualStore zeigen doch, dass da keine Anpassung an die Systemgrundlagen gemacht wurde.