SQL unter Xbase++

alles was zunächst nicht kategorisierbar ist

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

SQL unter Xbase++

Beitrag von Manfred »

Und wieder Hi,

lt. Alaska kann auch SQL mit Xbase++ gemacht werden (entsprechende Erweiterung vorausgesetzt, z.B. prof. Subscription).

Wie darf man das denn dann verstehen? Ist das reines SQL unter GUI/Text von Xbase++, oder könnte ich damit im Web irgendwas anstellen.

Idee: Ich möchte über kurz oder lang einen Web-Shop programmieren. Bis jetzt kam mir in dem Zusammenhang nur der Gedanke PHP/mySql. Sollte das auch so bleiben ;-) , oder wäre es auch eine Möglichkeit das vernünftig mit Xbase zu machen?

Wie sähe dann der Zugriff von Xbase++ auf die mySql Datenbank aus? Oder ist die SQL Möglichkeit unter Xbase++ nur auf hauseigene DB möglich?

Ich habe gerade nochmals einen kurzen Blick auf die Alaska Seite geworfen. Meiner Meinung nach ist es alles auf den ADS beschränkt. Sehe ich das richtig?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Manfred.
Ist das reines SQL unter GUI/Text von Xbase++, oder könnte ich damit im Web irgendwas anstellen.
Es gibt zwei Möglichkeiten. Die eine steht mit der ODBCDBE von Alaska zur Verfügung. Diese erlaubt den Zugriff auf alle Datenquellen, die per ODBC zur Verfügung stehen, und damit natürlich auch auf MySQL- oder MS-SQL-Server. Die ODBCDBE ermöglich auch die Ausführung von SQL-Statements, aber sie erlaubt zudem, auf "herkömmliche" (datensatzorientierte) Art auf SQL-Datenbanken und andere zuzugreifen. Einige Funktionalitäten, die wir aus der xBase-Datenzugriffsstruktur kennen, stehen allerdings nur eingeschränkt zur Verfügung.

Die zweite Möglichkeit ist das Tool "SQLexpress" (http://www.sqlexpress.net) von Boris Borzic. Auch dieses Tool nutzt die ODBC, um auf beliebige Datenquellen zuzugreifen, und es bietet diverse Klassen hierfür.

Ich nutze beide Varianten, um "mich" mit externen Datenquellen abzugleichen. SQLexpress ist m.E. robuster und auch schneller.

Was aber meinst Du genau mit "im Web anstellen"? Wenn Du eine Web-Applikation erstellen willst, benötigst Du einen WebServer (z.B. via Xb2.Net, auch von Boris), für den Du eine Xbase-Applikation schreiben kannst (Martin hat sowas gemacht), und der auf eine Datenquelle zugreifen kann, die eine SQL-Datenbank, aber auch eine herkömmliche Xbase-Datenquelle sein kann. Wenn Du allerdings auf eine externe SQL-Datenquelle, also eine auf einem fremden Webserver, zugreifen willst, muß diese eine Schnittstelle anbieten, etwa via SOAP.
Herzlich,
Tom
thomas
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Fr, 23. Sep 2005 16:07
Wohnort: Bad Oldesloe
Kontaktdaten:

Beitrag von thomas »

Hallo Manfred.

In Punkto SQL mit Xbase würde ich die Kombination ADS und Xbase empfehlen. Auch der Einsatz von PHP und ADS stellt kein großes Problem dar. Wir haben zur Zeit PHP und Xbase mit ADS in allen Anwendungen integriert und sind damit sehr zufrieden. Ist erst mal die SQL Welt erobert, möchte man sie nicht mehr missen. Natürlich sind auch andere SQL-Datenbanken via ODBC von Xbase aus erreichbar (wie z.B. MySql, Microsoft SQL, PostGreSql etc..) Bevor jedoch der große Schritt zu SQL geht, sollte man sich näher mir den Konzept dieser Abfragesprachen auseinandersetzen. Die SQL Dialekte sind so vielfältig und unterscheiden sich meist nur in Kleinigkeiten, die wie so oft einen das Leben schwer machen. Möchte man jedoch die vielen DBF-Dateien mit ihren Indexdateien (NTX ; CDX) per SQL auswerten oder verarbeiten, dann bietet sich eben dieser ADS an.
Verfügt man über einen guten Wrapper, dann sind SQL Auswertungen mit nur wenigen Handgriffen schnell erledigt. Ein großer Vorteil ist es auch, das sich selbst große Result-Sets einer Query wie DBF-Dateien verhalten. Welche SQL-Datenbank nun die bessere Wahl ist, sollte jeder für sich selber herausfinden. Denn nicht nur die Anforderungen sondern auch der Geldbeutel spielt manchmal ein große Rolle für die Auswahl einer SQl-Datenbank.

Gruß

Thomas
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Tom,

es soll alles über das Internet laufen. Ich kann mir jetzt überhaupt nicht vorstellen, dass SQL mit Xbase++ dafür ein geeignetes Tool sein soll.

Ich werde nochmals ein paar Nächte darüber schlafen
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Manfred.

Du willst also ein Web-Frontend bauen, richtig? Das geht problemlos und sehr bequem mit Xbase, allerdings benötigst Du einen Windows-basierten Server.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
wenn Du alles programmieren willst/musst (also auch die SQL-Server-Anbindung), dann rate ich Dir auf jeden Fall zu dem Doppel von Boris Borzic (SQL-Express und XB2.NET)!
Ich habe keinerlei Erfahrung mit dem SQL-Express, da ich es nicht nutze. Ich habe aber nur positives von anderen darüber gehört. Und wenn es in etwa das leistet (bezogen auf SQL), was XB2.NET leistet bezogen auf Webapplikationen, dann ist es sein Geld allemal wert!
Wenn Du beides zusammen einsetzt, dann entwickelst Du Deinen Webserver mit XB2.NET selber und verheiratest ihn über SQL-Express problemlos mit Deinem SQL-Server. :wink:

Viele Grüße,
Martin
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Tom,
Tom hat geschrieben:Hallo, Manfred.

Du willst also ein Web-Frontend bauen, richtig? Das geht problemlos und sehr bequem mit Xbase, allerdings benötigst Du einen Windows-basierten Server.
Jein - Du meinst sicherlich Windows-basiert bezogen auf den Webserver, oder :?: Der SQL-Server kann natürlich unter Was-auch-immer laufen.

Viele Grüße,
Martin
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Beitrag von Tom »

Jein - Du meinst sicherlich Windows-basiert bezogen auf den Webserver, oder
Logo. 8)
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

hm,

nagut, jetzt bin ich etwas schlauer und werde es einmal wirken lassen. Das heißt also, dass ich den ADS über die normale Xbase Syntax anspreche, das aber dann intern zu SQL umgewandelt wird?

Wäre dann interessant, wenn ich Daten an eine SQL Datenbank schicke um diese zu aktualisieren. Und die SQL Datenbank damit weiterarbeiten kann.

Bis hierher erstmal Danke für euren Einsatz.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf »

Hallo Manfred,
ich kann SQLEXPRESS empfehlen, habe am Anfang mit ODBCDBE gearbeitet aber eine Menge Probleme bekommen. Den Support von Alaska kann man vergessen, dauert alles viel zu lange und keine echten Lösungen. Mit Hilfe von Boris habe ich alles umgeschrieben, funktioniert jetzt einwandfrei. Der Syntax ist gar nicht so kompliziert, habe mir mit dem Präprozessor ein paar einfache Hilfen gemacht, damit der Umstieg leichter ist. Wenn Du eXPress++ benutzt, dann hast Du auch volle Unterstützung für SQLEXPRESS, z.B. für das Getsystem und für den Browser.
Rudolf
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Rudolf,

wie sieht es denn aus mit den Verträglichkeiten zu Xbase++? In der Vergangenheit ist mir immer wieder aufgefallen, dass die Leute mit den größten Problemen viele Tools von Fremdanbietern hatten. Ich hatte mit den Tools XXX zum Clipper und jetzt zu Xbase++ eigentlich keine.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf »

Hallo Manfred,
der Support von Boris ist wesentlich besser und schneller als der von Alaska. Hatte noch nie ein Versionsproblem, da Boris immer sofort eine neue Version bereitstellt. Hatte ziemliche Probleme mit Alaska, da ich einige Fehler in ODBCDBE gefunden habe (z.B. wchar typen, keine NULL unterstützung etc.) die lange nicht als PDR anerkannt wurden. Man wollte mir sogar eine Rechnung über den Support stellen, den sie mir beim Nachweisen der Fehlers geleistet haben. Ich sollte also zahlen dafür, dass ich Fehler gefunden und mit einigen Beispielen bewiesen habe. Habe ein grosses Projekt dadurch verloren und ein anderes auf SQLEXPRESS umstellen müssen.
Boris hat die NULL Unterstützung und andere Features innerhalb von ein paar Tagen kostenlos ergänzt. Ich vertraue also Zusatztools von Boris und Roger wesentlich mehr als Alaska.
Grüsse
Rudolf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Zuerst mal klären was du brauchst !

Beitrag von brandelh »

Hallo,

die Frage ob Xbase++ und ein SQL Tool das können, ist nur die halbe Miete, fast alle Programmiersprachen mit StdIn und StdOut können CGI Anwendungen erstellen. Viele haben auch irgendwie eine Möglichkeit auf SQL DBs zuzugreifen, aber nicht alle sind für alles gleich geeignet.

PHP hat den Vorteil, dass es neben Pearl die wohl am meisten verwendete Sprache für Web-Server ist. Du wirst nie ein Problem haben einen günstigen Linux-Hoster zu finden um deine Applikation im Netz anbieten zu können.
Wenn man aber nicht so gut ist (Anfänger mit PHP oder etwa ganz) beim Programmieren, wird dir sicherlich der eine oder andere Fehler unterlaufen. Auf einem lokalen Rechner ist das nicht so dragisch, aber wenn du Pech hast hacken auf deinem Webserver die richtig guten Cracker rum und der dient dann denen und nicht mehr dir. Ich kann kein PHP aber ich lese häufig über Sicherheitslücken, wobei die meisten durch schlechte Programmierung herrühren sollen und da sind durchaus Profiprogramme dabei.

Alaska XBase++ mit SQL-Express kann sehr gut auf SQL Datenbanken zugreifen. Nicht mit dem traditionellen Code wie das bei der Alaska Lösung der Fall ist, aber für mich war das ein entscheidender VORTEIL !
SQL Datenbanken sind nunmal keine DBF Datei und man sollte es gleich richtig lernen. Xbase++ ist wunderbar geeignet um mit Texten umzugehen und das ist es was man braucht. Grundsätzlich gibt es 3 Möglichkeiten:

1. Alaska EXE im CGI Verzeichnis greift auf Daten zu und gibt diese zurück. Einfach normales CGI. Der WebServer (Apache...) läuft als Service und startet die EXE Programme. Das ist einfach, das ist überschaubar - wenn man den Apache erst mal beherscht ;-) Wichtig ! Es braucht niemand angemeldet zu sein ! Nachteil: Eine Xbase++ CGI kommt ganz schnell auf 5 MB Hauptspeicherbedarf (laut Taskmanager) PRO CGI Anfrage. Die müssen erst man geladen werden. Bei kleinen Nutzerzahlen spielt das keine Rolle (512 MB Ram im Server ?) aber wenn mehr zugreifen wird es eng.

2. Alaskas Web-Aplikationadapter
Vorteil: Webserver kann auf Linux-liegen, nur Anwendung muß auf Windowsmaschine sein (geht natürlich auch zusammen) das führt schon zu einer Entlastung bzw. Lastverteilung wenn nicht alle CGI laden wollen und eventuell findet man ja einen Anbieter, welcher die Alaska-Verbindungsprogramme (Name ???) auf dem Linux-Server als CGI duldet ? Das Anwendungsprogramm liegt in einer DLL , welche dann nur EINMAL im Speicher liegt. Jeder CGI Aufruf benötigt deutlich weniger RAM als die EXE Lösung. Nachteil: Das Steuerungsprogramm läuft zur Zeit nur unter einem angemeldten User. Ich wollte das nicht ! Außerdem schau dir mal das Alter des Programmes an; schon ewig klingen die Vorderungen nach Erweiterungen z.B. Betrieb als Service...

3. Boris direkte WebApplication - klingt sehr interessant. Sicherlich kann man damit Sachen realisieren, die anders nicht gehen.

Da ich den Xbase++ Compiler nur im Betrieb zur Verfügung habe und er fürs Hobby doch zu teuer ist, wurden meine CGI Anwendungen (alles privat just for fun) mit meinem privaten Basiccompiler (Power Basic Win32) erstellt. Sie laufen hinter einem DSL Router und 6Mbit Leitung, alles CGI pur mit SQL Zugriff über eine Toolbox.

Xbase und Basic haben beide den Vorteil, dass die Variablentypen entweder streng überwacht oder sehr flexibel sind, das verhindert Pufferüberläufe - eine der häufigsten Schwachstellen - aber verhindert nicht, dass falsche Programmabläufe böse Sicherheitslücken hinterlassen ... ich hab da am Anfang nicht schlecht gestaunt was alles schief gehen kann.

Sicherlich ist Xbase++ sehr gut für dich, wenn du dich damit schon gut auskennst. Wer nur kleine Ansprüche bezüglich der angemeldeten Benutzter (Nachfrage) hat, kann mit einem eigenen Windowsserver (normaler PC mit geringem Stromverbrauch aber RAID1 oder 5) hinter einer DSL Router Firewall ganz gut leben. Einen professionellen Webhoster, der einem eigene EXE Dateien auf dem gesharten Windowsserver erlaubt, wird man nicht finden. Also muß man sich einen eigenen Server mieten, was ins Geld geht. Andererseits habe ich locker 140 Euro Stromkosten pro Jahr nur für meinen Server im Keller (Celeron 1300)

Also gehen tut alles, aber überlegen warum das eine oder andere besser für einen selbst ist.

Tschüß
Hubert

PS ich habe im Betrieb die Prof Subscr, aber für Internetprogrammierung ist die ASINET nicht wirklich ausreichend und für SQL ziehe ich SQLExpress vor; also Standard plus Tools von Boris etc. wäre für mich - würde ich die Rechnung selbst bezahlen müssen - die bessere Wahl... (es sind natürlich auch noch Quellcodes im Prof Sub enthalten, aber die habe ich noch nie benutzt). Da viele Toolboxen C-DLLs sind, welche nur noch mit den Definitionen auf Xbase++ angepaßt werden müssen, schaffen diese sogar oft die Versionsunabhängigkeit von Xbase++
Gruß
Hubert
Antworten