Autor |
Beitrag |
ShadowThief
      
Beiträge: 278
|
Verfasst: Mi 26.03.03 02:12
hallo,
ich habe, denke ich, alle relevanten threads zum thema "welche datenbank soll ich verwenden" durchgelesen und habe jetzt trotzdem noch einige fragen.
folgende situation: ich möchte eine software schreiben, die auf eine datenbank zugreift. diese software kann man dann auf einer seite herunterladen und installieren. jedoch möchte ich natürlich, dass der user nichts weiter zu tun hat, d. h. die datenbank zu meiner software müsste dann auch schon installiert sein.
am einfachsten wäre das ganze wahrscheinlich mit access zu lösen, da man einfach die .mdb-datei mit ausliefert und ich mit meinem programm per odbc auf die datenbank zugreifen kann. das problem ist aber folgendes: wenn ich nur vorhabe meine software evtl. zu verkaufen, dann muss ich access lizensieren. eine access-datenbank wäre für meine zwecke denke ich auch zu hoch gegriffen.
die datenbank, die ich bräuchte müsste folgende eigenschaften haben:
- sie müsste kostenlos sein, und zwar komplett, d. h. dass ich auch software verkaufen darf, die diese datenbank verwendet.
- sie müsste sql unterstützen
- sie müsste sich irgendwie automatisiert installieren lassen, d. h. falls ich zu meiner software ein setup mache, müsste diese datenbank irgendwie gleich mitinstalliert werden.
folgende eigenschaften muss sie NICHT haben:
- sie muss nicht performant sein
- sie muss keine große datenmengen handeln können
ich dachte da schon an den odbc-text-treiber, das problem daran ist aber, dass man da keine creates, updates ... machen kann. das nächste, worauf ich gestossen bin ist firebird, jedoch verstehe ich da die lizens nicht so ganz, d. h. ich weiss nicht, ob ich eine kommerzielle software schreiben darf, die interbase verwendet.
vielen dank fürs durchlesen
shadowthief.
Moderiert von Tino: Absätze entfernt & List-Codes eingefügt.
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 26.03.03 03:23
Firebird und fertig.
Die Installations-Sachen selber machen.
_________________ Gruß
Hansa
|
|
ShadowThief 
      
Beiträge: 278
|
Verfasst: Mi 26.03.03 12:12
wie meinst du das "installationssachen selber machen" ?
und ist firebird jetzt wirklich komplett kostenfrei verwendbar?
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 26.03.03 12:17
glaubst Du, es gibt irgendeine Datenbank, die genau Deine Daten bereits kennt  Also muß DU mühselig ein Delphi-Programm dafür machen oder einfach ein SQL-Script.
_________________ Gruß
Hansa
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 26.03.03 12:18
ShadowThief hat folgendes geschrieben: | ...und ist firebird jetzt wirklich komplett kostenfrei verwendbar? |
Ja.
_________________ Gruß
Hansa
|
|
ShadowThief 
      
Beiträge: 278
|
Verfasst: Mi 26.03.03 12:43
erstma danke für die hilfe,
aber ich glaub du hast mich ein bisschen falsch verstanden. ich habe firebird jetzt bei mir installiert und kann es nun bei mir verwenden. ich möchte meine software aber übers internet verteilen, d. h. es geht jemand auf meine seite, lädt sich das setup herunter und installiert das programm. und firebird müsste sich nun gleich mitinstallieren, weil ich natürlich niemandem zumuten will, das selbst zu tun. das muss man ja auch bei keiner anderen software machen. bei jeder anderen (professionellen) software installiert das setup die datenbank gleich mit. genau so möchte ich das auch bei mir machen. aber ich hab keine ahnung wie und ob das mit firebird geht.
Moderiert von Tino: Absätze entfernt.
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 26.03.03 13:45
hansa hat folgendes geschrieben: | ...Die Installations-Sachen selber machen. |
Warum hab ich das wohl geschrieben  Egal, ob Internet, CD oder sonstwie. Um eine Interbase Datenbank einzusetzen, da sollte es sich wohl schon um ein Projekt einer gewissen Größenordnung handeln. Ich habe gerade mal nachgeschaut, vor kurzem hab ich nämlich auch eine Demo-Version per Internet verschickt. Da war folgendes dabei : selbstinstallierende Firebird-Version, eine leere Datenbank und natürlich mein Programm, eine Installationsanleitung und eine Batch - Datei, die die Verzeichnisse richtig anlegt und die Dateien dann speichert. Das wars.
Alles in einer selbstextrahierenden Zip-Datei.
Zitat: | ...und firebird müsste
sich nun gleich mitinstallieren, weil ich natürlich niemandem zumuten
will, das selbst zu tun |
Leider sind die Dos Zeiten vorbei und Du kannst meist nicht einfach Deine EXE Datei irgendwohin schieben und das wars. Dafür hast Du aber andere gewaltige Vorteile, denke nur mal an die Uhr rechts unten und die tollen Bildschirmschoner und dann noch die mickrige Registry, die sich hervorragend besonders von Anfängern verstellen läßt.
So und zu letzterem habe ich auch jetzt noch mal geguckt, ob Firebird die eventuell nicht braucht. Leider sind auch hier Einträge vorhanden. Also empfiehlt es sich wohl doch das Original-Installationsprogramm zu benutzen. Weiß der Teufel wo vielleicht noch eine Datei hinkopiert wird, die man übersehen hat.
Soll Dein Programm auch kostenlos sein ? Du schreibst nur, die Datenbank solle nichts kosten. Falls dem so ist, tja dann wirds schwierig. Ich würde dann etwas anderes suchen. Interbase ist eher was für kommerzielle Projekte, oder für einen größeren Eigenbedarf. Grob gesagt, deckt das die Lücke zwischen Paradox und Oracle. Es gibt einige, die wollen von Oracle auf Interbase umsteigen, da Oracle ihnen auf Dauer zu teuer wird. Vielleicht verstehst Du jetzt, was ich mit Größenordnung meine.
_________________ Gruß
Hansa
|
|
ShadowThief 
      
Beiträge: 278
|
Verfasst: Mi 26.03.03 15:21
ok, jetzt bin ich einen schritt weiter. interbase bzw. firebird ist zu
übertrieben für meine zwecke, da es eine software sein soll, die man
sich aus dem netz runterlädt, installiert und fertig.
für meine zwecke wäre ja access genau das richtige, da liefere ich einfach
die .mdb mit aus und fertig, weil ja die jet-engine auf jedem windows-
rechner installiert ist, oder? aber da muss ich ms access registriere,
worauf ich keine lust hab.
ist paradox nicht auch von microsoft? ich kann mich irren.
auf jeden fall hab ich zu paradox im netz spontan nix gefunden.
also irgendeinen download o. ä.
|
|
Cashels
      
Beiträge: 167
|
Verfasst: Mi 26.03.03 16:37
Hi,
um auf eine Access Datenbank von Delphi aus zuzugreifen brauchst du nicht das komplette Access zu installieren, sondern die MDAC Treiber reichen da aus, und die sind absolut frei und gibts bei Microsoft zum Download. Den Link weiss ich nicht mehr genau, dürfte aber zu finden sein.
Gruss,
Tom
|
|
Bruce
      
Beiträge: 80
|
Verfasst: Mi 26.03.03 17:21
Hallo!
Irgendwie verstehe ich die Grundfrage nicht ganz
Sprechen wir hier von einem Programm, daß Du mit Delphi schreibst? (Nehm ich doch mal an). Nach dem, was Du schreibst, müssten doch DBase oder Paradox (und BDE) völlig ausreichen, dann hast Du doch alles dabei was Du brauchst, und Deine Installation machst Du mit InstallShield, dann hast Du auch Deine Datenbank mit installiert.
Musst nur in ein Zip packen am Ende, dann ins Internet.
Steh ich jetzt hier voll auf´m Schlauch  oder wer?
(Oh je, hoffentlich nicht ich  )
Gruß, Bruce
|
|
ShadowThief 
      
Beiträge: 278
|
Verfasst: Do 27.03.03 09:49
@cashels:
langsam wird mir das alles n bisschen zu hoch  .
wozu braucht man MDAC-treiber? also ich wäre folgendermaßen
von delphi auf die access-datenbank draufgekommen:
- access aufmachen, neue datenbank anlegen
- odbc-datenquelle einrichten
- in delphi mit den ADO-komponenten über odbc auf die datenquelle
aber um überhaupt ne access-datenbank zu erstellen brauch ich
doch access, oder?
belehr mich, langsam blick ich nich mehr durch  .
@Bruce
du hast das schon richtig verstanden. aber falls ich mich jezt nicht
irre dann sind dbase und paradox kostenpflichtige datenbank und
ich hab was gesucht, das nix kostet. außerdem möchte ich die BDE
nicht verwenden, sondern mit den ado-komponenten auf ne
odbc-datenquelle gehn.
|
|
Cashels
      
Beiträge: 167
|
Verfasst: Do 27.03.03 10:16
Zitat: | wozu braucht man MDAC-treiber? also ich wäre folgendermaßen
von delphi auf die access-datenbank draufgekommen: |
Mit den ADO Komponenten greifst du über die MDAC Treiber auf deine Access Datenbank zu. Das Access an sich wie du es nennst, stellt lediglich auch nur ne grafische Oberfläche dar um z.B. Datenbanken zu erstellen. Das geht aber auch direkt mit SQL, also von Delphi aus. Bei einem Kunden von mir verfuhr ich so, daß ich eine leere Datenbank in Access erstellt habe und diese mitgeliefert habe.
Zitat: |
- access aufmachen, neue datenbank anlegen
- odbc-datenquelle einrichten
- in delphi mit den ADO-komponenten über odbc auf die datenquelle
|
Wenn du über ADO fährst, kann du dir die odbc-Datenquelle sparen. Überfolgenden ConnectionString greifst du direkt auf eine Access Datenbank zu: Quelltext 1:
| Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb;Persist Security Info=False |
wobei "test.mdb" natürlich durch den Dateipfad zu deiner Datenbank darstellt.
Zitat: |
aber um überhaupt ne access-datenbank zu erstellen brauch ich
doch access, oder? |
Siehe oben. Kuck dir mal Befehle wie "Create database" und "create table" an.
Gruß,
Tom
|
|
ShadowThief 
      
Beiträge: 278
|
Verfasst: Do 27.03.03 11:34
ich weiss, dass ich mir die odbc-datequelle ersparen kann, wenn ich
über ado gehe, jedoch gehe ich trotzdem über odbc weil ich die
datenbank dann schneller austauschen kann, ohne am programm
etwas zu ändern. ich bilde mir nämlich ein, dass es führ mehr daten-
banken odbc-treiber als ado-treiber gibt.
ich kenne die befehle "create database" usw. aber um überhaupt
einen ado-connectionstring zu erstellen brauche ich doch schon
ein .mdb-file, oder? oder ist es so, dass der "create database" ein
.mdb-file erzeugt?
|
|
Bruce
      
Beiträge: 80
|
Verfasst: Do 27.03.03 16:33
Riiiichiggg (wie Paul Panzer sagen würde),
Du wolltest Sie kostenlos haben, daß hast Du geschrieben. Aber bei der Professional-Version von Delphi hast Du Sie ja so gesehen kostenlos dabei (Dbase und Paradox), Personal weiss ich nicht. Is aber auch egal, denn wenn Du Deine Software kommerziell vertreiben willst, dann brauchst Du ja eh Professional.
Also war mein Gedankengang:
Kommerzielles Programm mit Delphi = Professional Version erforderlich = DBase, Paradox, BDE, ISExpress automatisch dabei.
Wenn Du natürlich BDE nicht willst, ist das was anderes. Aber warum nicht. Was für ein Prog schreibst Du denn? So wie Du´s beschrieben hast, (kleine Datenmengen, lokal installiert beim Anwender, SQL) hört sich das immer noch an, als langten da die Delphi-Bordmittel?
Aber ich hab eh noch zu wenig Ahnung davon, will Dich ja auch nicht zur BDE zwingen  .
Ausserdem finde ich "Was ist das beste"-Threads immer geil, man kommt zwar zu keinem Ergebniss aber kriegt immer so schöne Details zu hören
Gruß Bruce
|
|
ShadowThief 
      
Beiträge: 278
|
Verfasst: Do 27.03.03 17:23
bei delphi professional ist dbase und paradox dabei? wusst ich gar
nicht. okay. komm ich da dann nur über die bde drauf, oder gibts
is da dann auch gleich noch n dbase oder paradox-odbc-treiber dabei?
|
|
Bruce
      
Beiträge: 80
|
Verfasst: Do 27.03.03 22:01
Nabend Shadow,
ich bin mit Sicherheit der Falsche, um zu dem Thema was ausführlich zu sagen, weil ich mich erst einige Wochen mit Delphi und Datenbanken beschäftige.
Der Grund, warum ich gepostet habe war, daß die Anforderungen, die Du am Anfang beschrieben hast und die nachfolgende Diskussion über eigenständige Datenbanken und manuelle Installationsroutinen für mich nicht ganz zusammenpassen. Hier wurde ja auch schon gesagt, daß z. B. Interbase erst ab größeren Projekten nötig ist.
Ich weiß ja bis jetzt immer noch nicht, was Du da eigentlich vor hast, Deine Aussage "keine großen Datenmengen" kann viel heissen:
Weniger als 100 Datensätze? Unter 100.000? oder Bis zu ner Million? Keine Ahnung.
Ich gib Dir mal mein Beispiel:
Ich hab jetzt ein Programm, daß eine Artikelliste mit 40.000 Datensätzen als DBase-Tabelle zur Grundlage hat. Darin kann ich per SQL-Abfrage Artikel suchen, die Artikelpreise werden automatisch Berechnungen unterzogen, der Anwender kann die Preise neu kalkulieren und dann Angebote erstellen und drucken.
Das ganze hab ich mit Delphi3 Pro und der enthaltenen DatenbankOberfläche gemacht. Wenn ich mit InstallshieldExpress (is ja auch dabei) meine Installationsdateien erstelle, hak ich die BDE an und füge meine (DBase-)Tabellen bei; Der Anwender muss dann nur noch Setup anklicken, und nach der Installation kann er das Programm öffnen,hat die Datenbank und die BDE bei sich installiert und alles funktioniert wie gewollt. Die Installationsdateien muss ich dann nur noch packen, dann kann man das ganze per Mail verschicken oder zum Download anbieten.
Mir kam es so vor, daß Du was ähnliches vorhast, und wenn, dann nimm doch ruhig BDE und Dbase oder Paradox. Warum mit Interbase manuell rumfummeln, wenn auch so geht. Du baust ja auch nicht in einen Kleinwagen einen Ferrari-Motor ein, um dann 10 Meter zum Bäcker zu fahren.
Vielleicht äußert sich auch noch mal jemand von den Profis hier zu dem Thema, kann ja sein, daß ich hier was falsche sehe (wär ich auch dankbar für); aber bei mir funktioniert das so.
Oder Du sagst vielleicht erst mal, was Du überhaupt programmieren willst.
Bis denne,
Gruß Bruce
|
|
jacinto
Hält's aus hier
Beiträge: 3
|
Verfasst: Fr 28.03.03 00:32
Titel: DBASE, Paradox reicht
Bruce hat ganz recht, für kleinere Anwendungen reicht das.
Ansonsten mußt du (Shadow) schon etwas präzieser werden, ich habe beispielsweise auch schon statt mit einer Datenbank, mit reinen "ini" Dateien gearbeitet.
Da kannst du auch bei relativ großen Datenmengen einiges mit anfangen (da strukturiert).
Vorteile liegen auf der Hand, keine Treiber, extrem schnell.
Nachteile:
Wenn mehr als 4-5 Tabellen (Dateien) benötigt werden wirds zirkusreif mit dem handling.
Regards
_________________ "Imagination is more important than knowledge"
|
|
ShadowThief 
      
Beiträge: 278
|
Verfasst: Mo 31.03.03 10:26
@bruce:
also vom umfang her entspricht mein programm ungefähr dem, das
du beschrieben hast. ich weiss auch nicht, aber ich hab irgendwie
keinen bock auf die BDE, seitdem ich mal gehört hab, dass die
jetzt nicht mehr weiterentwickelt wird (gut, muss ja jetzt nichts schlimmes
heißen). vielleicht sollte ich mal meine vorurteile über bord werfen
und das ganzet mal mit dBase probieren. und dieses installshield
ist mir auch noch fremd. naja mal sehn. vielen dank einstweilen,
vielleicht melde ich mich ja nochmal.
@jacinto:
ähm.. also überlegt hatte ich mir das schon. aber da es bei mir
voraussichtlich mehr als 15 tabellen werden, und ich auf jeden fall
mit sql auf die datenbank will, fällt das glaube ich flach. aber das wärs
mal: ne komponente mit der man per sql auf ini-files draufikommt,
das ganze ohne odbc, oledb, bde usw. *g* saugeil !!
also mal im ernst, das wär genau das was ich bräuchte, oh mann.
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mo 31.03.03 11:15
ShadowThief hat folgendes geschrieben: | ...voraussichtlich mehr als 15 tabellen werden, und ich auf jeden fall mit sql auf die datenbank will... |
 Nachher sinds doch 30 Tabellen und dann kommt einer mit Netzwerk, dann bist du wieder bei Interbase. Fällt letzteres (Netzwerk) definitiv weg, wäre Paradox wohl anzuraten. Aber sag niemals nie
Zitat: | ...ne komponente mit der man per sql auf ini-files draufikommt,
das ganze ohne odbc, oledb, bde usw. *g* saugeil !! |
Eine Datenbank mit einer Textdatei zu machen, da sage ich nur : "Back to the fifties".  Wie wärs mit Lochkarten ? 
_________________ Gruß
Hansa
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Mo 31.03.03 13:08
Hallo,
welches Delphi verwendest du denn?
Unter dem Schlagwort MyBase bietet Borland die möglichkeit mit XML-Datenbanken zu arbeiten. Die neuen DBExpress Koponenten bieten die Möglichkeit ihre Inhalte als XML zu Speichern und wieder zu laden.
Ich weiß allerdings nicht, ob es möglich ist, dabei SQL-Anfragen zu fahren. Wenn du ein entsprechend Aktuelles Delphi hast, währe es aber sicherlich einen Blick wert. In eine MyBase Anwendung kann auf jeden Fall alles einkompiliert werden, so das du nichts zusätzlich mit ausliefern musst.
Gruß
Klabautermann
|
|
|