Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DatabaseName je nach computer vergeben (https://www.delphipraxis.net/78921-databasename-je-nach-computer-vergeben.html)

Schweesspunkt 13. Okt 2006 07:50

Datenbank: Firebird / Dbase • Zugriff über: tibobjects / tdbf

DatabaseName je nach computer vergeben
 
Hallo Forum,

Ich schreibe ein Transfert-Program das alle meine DBF's in eine Firebird-Database umwandeln soll.
Dabei werden die Daten nicht eins zu eins kopiert sondern gleichzeitig auch Umstrukturiert.

Ich entwickle im moment parallel im Betrieb und Zuhause.
Im Betrieb steht die Firebird DB auf meinem Server (IP:192.168.47.150)
Zu Hause spreche ich die gleiche DB (Kopie) über die IP:127.0.0.1 an.

Mein Programm soll selbstständig feststellen auf welchem Computer ich gerade programmiere und dementsprechend die Namensanpassungen vornehmen.

Jetzt weiss ich leider nicht wie ich das am besten bewerkstelligen soll.

M.f.G.
Kunsch Alain

Klaus01 13. Okt 2006 08:03

Re: DatabaseName je nach computer vergeben
 
mach Dir doch eine Datei, wo Du die Zuordnung hineinschreibst.

Rechnername dbName

Grüße
Klaus

uwewo 13. Okt 2006 08:03

Re: DatabaseName je nach computer vergeben
 
So wie ich das sehe, hast Du dir die Antwort wschon selbst gegeben.
Ermittle die IP dann weißt Du wo Du bist, oder schreib den Servernamen in eine INI Datei und ändere gegebenenfalls den Namen.

Union 13. Okt 2006 09:39

Re: DatabaseName je nach computer vergeben
 
Moyen,

Du kannst auch über den Rechnernamen gehen. Das ist z.B. sinnvoll, wenn bei Euch in der Firma DHCP eingesetzt wird. Dann hat Dein Arbeitsplatz nämlich öfter mal eine andere IP. Beispiel zur Ermittlung:
Delphi-Quellcode:
//------------------------------------------------------------------------
function computername(): string ;
//------------------------------------------------------------------------
// Ermittelt den Computernamen
//------------------------------------------------------------------------
var buffer : array[0..255] of char;
    buflen : dword;
begin
   buflen := 256;
   windows.GetComputerName(buffer,buflen);
   result := buffer;
end;
Aber mal was ganz anderes: Wenn Du ein Clipper-Programm umstellen willst, warum verwendest Du dann nicht den Advantage Database Server? Damit kannst Du sogar parallel von Clipper und Delphi-Anwendungen auf die alten Daten zugreifen. Und wenn das Delphi Teil fertig ist, kannst Du die Clipper-Anwendung abschalten und dann auch die Daten in das proprietäre ADT Format umwandeln bzw. auch mit ADD (Dictionary, echte Datenbank). Für die Umstellung von XBase Anwendungen eindeutig die beste Lösung!

mkinzler 13. Okt 2006 09:49

Re: DatabaseName je nach computer vergeben
 
Zitat:

Aber mal was ganz anderes: Wenn Du ein Clipper-Programm umstellen willst, warum verwendest Du dann nicht den Advantage Database Server? Damit kannst Du sogar parallel von Clipper und Delphi-Anwendungen auf die alten Daten zugreifen.
Das scheint der einfachere Weg zu sein. Im Endeffekt würde er sich aber u.U. keinen Gefallen tun. Eine Umstellung auf eine neuere Datenbankarchitektur solte genutzt werden um die Struktur der daten an dieses anzupassen, wie er es auch macht.

Union 13. Okt 2006 09:52

Re: DatabaseName je nach computer vergeben
 
Ist aber auch immer ein Frage der Praxis. U.U. soll in der neuen Anwendung etwas realisiert werden, was mit DOS nicht möglich wäre und vielleicht auch ziemlich schnell. Wenn man dann nur begrenzte Resourcen hat, ist es unmöglich die ganze Anwendung fehlerfrei neu zu programmieren und noch die gewünschte Zusatzfunktionalität zu implementieren.

mkinzler 13. Okt 2006 09:56

Re: DatabaseName je nach computer vergeben
 
Zitat:

Wenn man dann nur begrenzte Resourcen hat, ist es unmöglich die ganze Anwendung fehlerfrei neu zu programmieren und noch die gewünschte Zusatzfunktionalität zu implementieren.
Durch das reine Neuschreiben der Anwendung mit einer anderen Sprache, hat er aber nichts gewonnen. In diesem Falle würde ich dann die neue Anwendung unabhängig entwickeln und das alte Clipperprogramm so lange weiterlaufen lassen (wenn auch die Performance unter XP mies ist).

Schweesspunkt 13. Okt 2006 10:46

Re: DatabaseName je nach computer vergeben
 
Hallo,

Bedanke mich für die Antworten, die Anstöße haben mir weiter geholfen.


Zitat:

Aber mal was ganz anderes: Wenn Du ein Clipper-Programm umstellen willst, warum verwendest Du dann nicht den Advantage Database Server? Damit kannst Du sogar parallel von Clipper und Delphi-Anwendungen auf die alten Daten zugreifen. Und wenn das Delphi Teil fertig ist, kannst Du die Clipper-Anwendung abschalten und dann auch die Daten in das proprietäre ADT Format umwandeln bzw. auch mit ADD (Dictionary, echte Datenbank). Für die Umstellung von XBase Anwendungen eindeutig die beste Lösung!
ADS war in der engeren Wahl.
Ich habe lange in Foren herum gelesen und bin zum subjektivem Schluss gekommen dass Firebird für mich die richtige Wahl ist.
Die Daten einfach übernehmen scheint mir nicht der richtige weg.
Die aktuelle Struktur ist etwa 20 Jahre alt und kommt noch von Zeiten wo HD-Platz sehr knapp war.
Im laufe der Zeit wurden Felder nachgeflickt und Notlösungen programmiert um den neueren Anforderungen zu entsprechen.
(Und wird zum Teil heute noch immer so gemacht.)
Ich befürchte jedoch dass DOS von M$ keine 100 Jahre mehr unterstützt wird und deswegen die ganze Arbeit die Anwendung neu zu schreiben. Und wenn schon neu schreiben dann solls auch den neuen Anforderungen gerecht werden.


Zitat:

Ist aber auch immer ein Frage der Praxis. U.U. soll in der neuen Anwendung etwas realisiert werden, was mit DOS nicht möglich wäre und vielleicht auch ziemlich schnell. Wenn man dann nur begrenzte Ressourcen hat, ist es unmöglich die ganze Anwendung fehlerfrei neu zu programmieren und noch die gewünschte Zusatzfunktionalität zu implementieren.
Es soll sogar eine Menge neuer Funktionalitäten hinzu kommen.
Das alte Programm funktioniert ja noch, programmieren ist halt ein kleines Hobby und fertig Produkte, naja wir sind halt verwöhnt.


M.f.G.
Kunsch Alain


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:43 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