Datenbank im Internet mit VisualBasic beutzen

  • Hi,


    ich habe einen Client geschrieben der auf eine lokale DB zugreift. (im Moment noch Access, ist mir aber egal was).
    Jetzt möchten aber viele Leute das Programm benutzen, Internet ist die einzige Lösung für eine gemeinsame DB.


    Wie binde ich meinen Client nun aber an die DB die im Internet liegt anstatt lokal?


    Ich habe Webspace der mySQL kann, falls das hilft.


    Gruß, HA

  • Web-Services.
    Eine http-seite die den db-zugriff übernimmt. dein prog muss dann nur noch die requests absetzen und das ergebnis parsen - am besten gekapselt in einer klasse.

    !ND - E71

  • Vermutlich ist der Zugriff auf den MySQL Server aber von "aussen" gesperrt oder? In der Regel wird das so gemacht, da man den DB-Server auf die Art vor Angriffen schützen kann. Dann kann man lediglich "lokal" vom Webserver aus auf die DB zugreifen. Falls er wie geschrieben "unerreichbar" ist, du aber auf jeden Fall den selber programmierten Client als Desktop-Anwendung laufen lassen willst, wirst du wohl den notgedrungen den Umweg um ein (PHP-)Script gehen müssen, welches die Daten der Client-Anwendung zur Verfügung stellt. Dann kann man aber (je nach Komplexität) fast auch gleich ganz auf eine PHP-Applikation die komplett im Browser läuft ausweichen.
    So oder so, gibt es einige Unterschiede zwischen MySQL und Access, sodass eine Anpassung der Andwendung wohl auf jeden Fall notwendig wird. Welche Möglichkeiten (und ob überhaupt) VB zur Kommunikation mit einem MySQL-Server bietet... keine Ahnung.


    Ein einfacher direkter Weg zur Lösung deines Problems ist mir nicht bekannt, vielleicht beschreibst du die Art und Komplexität der Anwendung etwas näher.


    edit: BullshitBingo! *SCNR* ;)

  • Zitat

    Original geschrieben von !ND
    Web-Services.
    Eine http-seite die den db-zugriff übernimmt. dein prog muss dann nur noch die requests absetzen und das ergebnis parsen - am besten gekapselt in einer klasse.



    OK, das nenne ich mal kanpp formuliert ;)
    Aber so richtig weiterhelfen tut mir das nicht...


    Kannst du mir genauer weiterhelfen oder Quellen nennen? Hast du schon mal sowas gemacht?


    Gruß, HA
    (nachts gibts die besten Antworten ;))

  • Wenn dir jemand eine Lösung anbietet ohne die Details zu kennen wäre ich persönlich erstmal skeptisch. Vor 3-4 Jahren hättest du vermutlich eine solche Antwort gehört:

    Zitat


    XML.
    Eine http-seite die den db-zugriff übernimmt. dein prog muss dann nur noch die requests absetzen und das ergebnis parsen - am besten gekapselt in einer klasse.


    Und wieder ein paar Jahre vorher, wär das Schlagwort vermutlich Middleware gewesen.
    :D


    Gemeint ist ein Skript/stück software welches die Kommunikation zwischen deinen beiden Welte (MySQL-db & ClientAnwendung auf Win) vermittelt. Sich dabei an einen der Webservice-standards zu halten macht vermutlich erstmal nur mehr Arbeit ohne Mehrwert; es sei denn du hast eine Umgebung in der dir fertige Tools/Klassen zur Verfügung stehen welche dir die Arbeit abnehmen. Das ist meines Wissens weder bei Visual Basic (kenne mich da aber auch nciht sehr gut aus) noch bei den gängigen Skriptsprachen (perl/php) der Fall.
    Wenn du einen Java client, und JSP/Servlets auf dem Server nutzen würdest sähe die Sache evtl. anders aus.


    mr clean, falls es möglich ist, würde ich doch erstmal nähere Informationen zum Projekt/zur Anwendung nennen. Geht es nur um Abfrage von Daten oder auch um Änderung/hinzufügen von diesen Clients aus? Wie komplex sind die Daten, d.h. wieviele Tabellen, welche Beziehungen etc. ? Wie kritisch/wichtig sind die Daten?

  • mr clean: eine andere Möglichkeit wäre es eine MSDE-Datenbank zu benutzen, diese läuft direkt unter windows und ist im Prinzip ein abgespeckter SQL Server 2000 - auf diese Datenbank kannst du über ODBC problemlos zugreifen und die Daten in Form eines webservices auf deinem lokalen Rechner online stellen oder auf einen remote-FTP schieben und dann per PHP parsen bzw. darstellen ...

    -> Tristan @ Work <-
    --

  • Aaaaalso:


    Es handelt sich um ein VB6.0 Programm.
    Dabei handelt es sich um ein Fun/Freizeitprojekt.
    Genauer gesagt geht es um da Onlinespiel Inselkampf, falls das einer kennt.
    Das Programm an sich ist eigentlich fertig. Es kommen nur noch Funktionen hinzu. Es geht darum, die sehr beschränkte Kartenansicht im Browser ein wenig aufzubohren. Weiterhin kann man Allinanzen und Bündnise verwalten.


    Was das Programm kann und wie es aussieht ist hier zu beobachten: http://www.musik-netzwerk.de/ikk


    Bisher werden die Inseldaten von Hand eingegeben, ich bin jedoch mittlerweile in der Lage die Daten vollautomatisch auszulesen. Das verursacht pro Client jedoch viel zu viel Traffic, der Admin würde mich töten.
    Daher die Idee die Datenbank zentral zu legen, und weiterhin in der Datenbank eine Art Kontoverwaltung einführen, so dass jeder registrierte Client nur eine bestimmte Anzahl Inseln je Tag lesen kann und diese dann in die Server DB einträgt.


    Also, es müssen die Inseldaten die der Client ausgelesen hat in die DB eingetragen werden können, die vohandenen Inseldaten ausgelesen werden können und die Kontoverwaltung für die Berechtigung was wann ausgelesen werden darf.


    Ich freue mich über jede Unterstützung da das für mich völliges Neuland ist... :rolleyes:


    Greetz, HA

  • D.h. im Moment funktioniert der Datenaustausch zwischen dem Programm und dem Server indem man einen Satz Daten aus dem Browserfenster ins Programm bzw. aus dem Programm/Zwischenablage ins Browserfenster kopiert.
    Und du willst das nun automatisieren? Also im Prinzip dass man machen was man (ursprünglich) durch die Regeln untersagt hatte:

    Zitat

    §5 Es ist strengstens verboten jegliche Seiten von Inselkampf.de mit anderen Programmen außer dem Browser abzurufen. Dies bezieht sich besonders auf sogenannte "Bots".


    (Das soll kein Vorwurf sein. Scheinbar hast du ja das Einverständnis des Admins/Betreibers.)


    Der Betrieber des Spiels würde dich insofern unterstützen, dass er dir erlaubt Skripte auf dem Server auszuführen. Habe ich das richtig verstanden? Dann würde es nur darum gehen aus dem VB-Programm heraus die ohnehin schon vorhandenen Seiten/Skripte auf dem Server zu bedienen (inklusive Login/Authentifizierung.
    Oder möchstest du ein eigenständiges, unabhängiges Spiel aufziehen?

  • Was den §5 angeht bewege ich mich in einer Grauzone um ehrlich zu sein.


    Ich habe schon Kontakt mit dem Administrator, und der hat mir kein generelles Einverständnis gegeben. Somit kann ich auch nicht auf seine Skripte etc. zugreifen.
    Allerdings hat er mir erklärt worum es bei diesem Verbot geht: Er möchte einfach nicht, dass Leute Bots schreiben die Dinge wie Bauaufträge oder Flottenagriffe automatisch vornehmen. Außerdem darf man das Spiel nicht außerhalb des normalen Browsers spielen können, wegen der Werbeeinblendungen. Das ist der eine Teil des Verbotes, da stoßen wir nicht aneinander, da mein Programm kein Ersatz für die Spieloberfläche oder einen Teil davon ist und auch keine Werbeeinblendungen unterdrückt. Weiterhin werden keine automatisierten Prozesse gestartet o. ä.
    Im Prinzip ist ein ein Auswertungstool um bessere Übersicht über die Nachbarschaft zu erhalten.


    Der zweite Teil des Verbotes bezieht sich auf das massenhafte Abzapen von Daten. Wenn das jeder macht, kann der Admin den Traffic nicht mehr bezahlen. Daher möchte ich unbedingt diese Kontoverwaltung einbauen, dann gerate ich nicht in Konflikt mit dem Admin.


    Er hat mir sinngemäß gesagt, dass er das nicht sofort entscheiden kann, er kann das auch noch nicht exakt einordnen.


    Es gab aber kein kategorisches Nein, im Gegenteil er findet die Idee gut. Aber nur dann, wenn das Proggi jedermann zur Verfügung stehen kann.


    So, das zu der "Randgeschichte" (die aber durchaus wichtig ist, das gebe ich zu).


    Noch Ideen?


    Gruß, HA

  • Zitat

    D.h. im Moment funktioniert der Datenaustausch zwischen dem Programm und dem Server indem man einen Satz Daten aus dem Browserfenster ins Programm bzw. aus dem Programm/Zwischenablage ins Browserfenster kopiert.
    Und du willst das nun automatisieren?


    Wenn das zutrifft, dann sollte es mit VB gehen. Hab spontan das ergoogled: http://www.webconcerns.co.uk/com/geturl/default.asp


    Da es dann aber überwiegend um VB geht klinke ich mal wieder aus, dass ist nämlich nicht meine Stärke...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!