Antje: Datenbank Zugriff per Java Script

Hallo,

ich möchte per Java Script auf eine Datenbank zugreifen.
Der Hintergrund ist, dass ich direkt vom Client auf eine Datenbank zugreife um eine Liste bestimmter Inhalt zu bekommen. Damit spare ich einiges an Netzwerkperformance, wenn ich nicht komplexe html Konstrukte übers Netz schiebe sondern nur schmale Listen versende und diese auf dem Client zu einem HTML Dokument erzeuge.

Leider konnte Ich bei Selfhtml keine Info darüber ziehen.

Wer kennt sich damit aus und kann mir sagen wie dies geht.

Vielen Dank Antja aus Haagen

  1. Hi Antje,

    ich glaube der Ansatz ist ohnehin nicht wirklich gut.
    Egal, meines Wissns kann man mit Java Script nicht so ohne weiteres auf eine Datenbank zugreifen.

    Für JS gibt es einfach keine Treiber.
    Ausserdem warum möchtest Du eigentlich die Seite auf dem Client erzeugen. Allein das Script dürfte schon so gross werden, dass Du die Seite auch gleich auf dem Server erzeugen kannst.

    Ausserdem müsstest du bei einem derartigen Verfahren den Login auf die Datenbank bekannt geben. Aus meiner sicht ein sehr hohes Sicherheitsrisiko welches Ich nicht eingehen wollte.

    Versuch es doch lieber mit Perl oder PHP oder etwas anderem Serverseitigem das Problem zu lösen.

    Gruss Matze

    1. Vieleicht solltest Du erst Programieren lernen.
      Ausserdem stellt eine offene Datenbank kein Sicherheitsproblem nach aussen dar. Du hast wohl davon keine Ahnung.

      Nein das ganze soll Client seitig ablaufen.
      Eine Serverseitige Lösung ist viel problematischer!!
      Ausserdem stellt gerade die Verwendung von Perl ein Sicherheitsrisiko dar.

      Und die Ersparnis des Datenvolumens ist enorm bei dieser Lösung.

      Aber wenn ich mich richtig erinnere habe ich so oder so jemanden gebeten darauf zu antworten, der sich damit auskennt.
      Nicht Dich da Du davon keine Ahnung hast.

      1. Hallo,

        Vieleicht solltest Du erst Programieren lernen.
        Ausserdem stellt eine offene Datenbank kein Sicherheitsproblem nach aussen dar. Du hast wohl davon keine Ahnung.

        ...

        Nein das ganze soll Client seitig ablaufen.
        Eine Serverseitige Lösung ist viel problematischer!!
        Ausserdem stellt gerade die Verwendung von Perl ein Sicherheitsrisiko dar.

        Es besteht keinerlei Möglichkeiten mit Javascript auf eine Datenbank zuzugreifen!
        Bevor Du wieder frech wirst lies http://aktuell.de.selfhtml.org/artikel/javascript/datenbanken/
        oder spiel in Deiner Ecke weiter...

        Aber wenn ich mich richtig erinnere habe ich so oder so jemanden gebeten darauf zu antworten, der sich damit auskennt.
        Nicht Dich da Du davon keine Ahnung hast.

        ...

        MfG AndreD

        1. Heul doch...

      2. Hallo

        Vieleicht solltest Du erst Programieren lernen.

        Ich verstehe diese Reaktion auf eine ganz normale und vernünftige Antwort nicht. Stört es dich, dass es nicht die Antwort ist, die du erwartest?

        Ausserdem stellt eine offene Datenbank kein Sicherheitsproblem nach aussen dar. Du hast wohl davon keine Ahnung.

        Was für eine jugendliche Naivität. Wäre sie nicht gekoppelt mit Überheblichkeit wäre das richtig niedlich.

        Nein das ganze soll Client seitig ablaufen.

        D.h. du schickst jedem Client auch die kompletten Zugangsdaten für die Datenbank mit. Wunderbar einsehbar für jeden der Lust und Laune hat und damit genauso angreifbar.
        Übrigens steht dazu tatsächlich etwas in SELFHTML

        http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm#jdbc

        Eine Serverseitige Lösung ist viel problematischer!!

        nö, selbst ich würde für eine clientseitige Lösung wesentlich mehr Aufwand betreiben müssen als für eine serverseitig Lösung.
        Allerdings tippe ich darauf, dass du von JavaScript genausowenig Ahnung hast wie von serverseitigen Lösungen.

        Ausserdem stellt gerade die Verwendung von Perl ein Sicherheitsrisiko dar.

        Was für ein Schwachsinn

        Und die Ersparnis des Datenvolumens ist enorm bei dieser Lösung.

        die paar KByte spielen hier wirklich keine Rolle. Zumal du ja zusätzlich die Auswertungsscripte zum Client senden mußt. Und dass kann unter Umständen deutlich mehr sein, als ein normaler Ergebnistransfer.

        Aber wenn ich mich richtig erinnere habe ich so oder so jemanden gebeten darauf zu antworten, der sich damit auskennt.

        Dessen Antwort wird dir auch nicht passen. Tatsächlich ist das beste eine Mischkultur, die aber nur in relativ homogenen Landschaften wie Intranets gut funktioniert.

        Datenbankabfragen etc. serverseitig und die Anforderungen und Darstellung der Daten über iframes.

        Nicht Dich da Du davon keine Ahnung hast.

        hat er, nur du hast dich in eine Idee verliebt und willst keine andere Ansicht akzeptieren.

        Viele Grüße

        Antje Hofmann

        PS: Ich bin mir nicht sicher ob die Ausgangsposterin identisch mit dir ist.

        1. Laber Du ruhig und geh mit den anderen Pfeifen sonst wo hin.

      3. hi,

        da wir ja letzte tage schon das problem mit antworten unter falschen namen hatten, schreibe ich dies hier unter dem vorbehalt, dass es sich bei dem/der antworter/in im die selbe person handelt, die den thread auch eröffnet hat (obwohl schon die unterschiedliche schreibweise des namens ja eigentlich für einen "trittrettfahrer" spricht).

        welchen grund gibt es, hier dermaßen beleidigend zu werden?

        matze hat gesagt, wie er die sache sieht, ohne dabei beleidigend, überheblich, oder sonstirgendwas zu werden, was man auch nur halbwegs als anlass für solch eine antwort sehen könnte.

        gruss,
        wahsaga

      4. Ich bin ja immer wieder mal im Forum und man trifft ja schon so auf einige Typen.
        Mag sein, dass ich nicht unbedingt gerade jede Antwort höflich und korrekt formuliere.

        Aber tu mir doch einen Gefallen, wenn du die Lösung so implementiert hast.... gib die URL nie weiter weil auch schon ohne werden die Hacker Ihre Freude an Dir haben......

        Meine Aussage war lediglich eine Empfehlung wie Du es realisieren solltest, da es mit Java Script so ohne witeres nicht geht.
         Wenn Du der überzeugung bist, dass eine Datenbank wirklich sicher ist, dann will Ich dir nur soviel sagen. Es gibt einige Datenbanken, bei den kannst du Benutzer anlegen aber keine explizite Benutzerberechtigungen setzen.

        Bei MS SQL weiss jedes Kind heisst der Admin Benutzer sa.
        Ich bin mir sicher, wenn ein hacker lange genug bohrt erwischt er auch das richtige Passwort.

        Ausserdem würden Deiner Aussage zuvolge rund 99,9 % aller Entwickler jenseits der Vernunft handeln. Den ich kenne niemanden der jemals direkten Zugriff auf eine Datenbank über das Internet ermöglicht.

        Aber egal, wenn ddu weiterhin deratige Anworten hier ablieferst riskierst Du, dass zukünftige Postings von den Usern hier einfach ignoriert werden.

        In diesem Sinne viel spass beim Reboot des Server / Server

        1. Ich bin ja immer wieder mal im Forum und man trifft ja schon so auf einige Typen.

          Dann bleib halt weg Dich vermisst keiner.....

  2. Hi,

    also ein db zugriff in js ist expliziert  nicht möglich, weil es keinen treiber gibt.

    aber vielleicht geht ja per umweg über vb-script. hier sollten dann nur einige runtime-module auf den clients installiert sein.

    es kommt natürlich auf die art deiner listen an, aber wenn sich die inhalte nicht so häufig ändern, könntest du ja auch ein textfile in irgendeiner freigabe hinterlegen, bzw eine tabelle hinterlegen und dann mit js einen function schreiben, die diese tabelle wie ein select filtert.

    übrigens: ich hab mal eine ganze datenbankanwendung (adress-und kontenverwaltung im finanzbereich) entwickelt, die im browser läuft. 30 clients teilweise an verschiedenen standorten, mit einem 400mhz apache/php/mysql system und 100mbit netzwerk mit switch -ein ein mysql/windows client war ca 20 mal langsamer !

    ein linux db-server lohnt sich immer und ist selbst übers netz niemals langsamer als ein lokales db-system unter windows - niemals !!!

    schaff dir mal sowas an, du wirst es lieben !

    1. Wieder so ein Schlaubi....
      das geht auch mit Javascript.... Ihr könnt halt nicht Programieren.
      Ausserdem ist Linux der letzte dreck. So eine Sch. sse habe ich schon lange nicht mehr gehört. Wer betreibt heute noch Linux?
      Doch nur die, die keine Ahnung vom programmieren haben und Ihren Job mit ein bischen pseudo Unix wissen retten wollen.

    2. Wo hast eigentlich Du die Zahlen her geträumt??
      Wach mal auf und mach es wie richtige Profis.

      Ausserdem was willst du mit VB Script??
      Komm mal wieder runter wenn dann geht das nur richtig mit Java Script.

  3. Moin!

    [1] Deine Antwort an Matze kann ich so nicht gutheissen. Warum wurde bereits geschrieben.

    [2] Zugriff auf die Datenbank ist nicht per Javascript nicht möglich, es sei denn, es arbeitet auf dem server, das war aber nicht Deine Frage.

    [3] Wenn Du die gesamte Logik auf die Clients auslagern willst, dann musst Du diesen die gesamten Daten und natürlich die Programme (Skripte) ausliefern. Überlege, wieviel das ist. Du lieferst wirklich jedesmal die gesamte Datenmenge aus... Ich bezweifle, daß dies sinnvoll ist. Spätestens, wenn an den Daten seitens der Clients etwas verändert werden soll, dann ist ohnehin wieder die Logik der Datenbank, also des Servers gefragt.

    Ach ja... Das Erzeugen der seiten kann der Server schnell und performant vornehmen. Er ist eine zeichenverarbeitende Maschine (Computer) und kann genau das am besten.

    Dennoch: Wie es geht:

    Du fragst Deine Datenbank ab un erzeugst via CGI folgendes Javascript:
    <script type="text/javascript">
    var NName= new Array("Müller","Meyer",...);
    var VName=new Array("Antje","Paul",...);
    var TNr=new Array("0123 123457","0124 1234568",...);
    <script>

    Dann schreibst Du Dir die entsprechenden Funktionen, die zum Besipiel die Telefonnummern für die Namen heraussuchen...

    <script type="text/javascript">
    function telefon(nname) {
    ;;;
    }

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Meinereinerselbst ist auf der Suche nach Aufträgen
    1. Das ist auch wieder serverseitig. Serverseitig ist kacke.
      Das muss alles auf dem Client gehen.

  4. achtung, extremer trollalarm!

    "antje" sucht offensichtlich nicht nach lösungen, sondern will nur provozieren. bitte gar nicht weiter drauf eingehen.

    gruss,
    wahsaga

    1. Hallo wahsaga,

      achtung, extremer trollalarm!

      mich wundert es das
      Don't feed the trolls
      noch nicht kam :-)

      "antje" sucht offensichtlich nicht nach lösungen, sondern will nur provozieren. bitte gar nicht weiter drauf eingehen.

      du hast mich neugierig gemacht (ok, das bin ich sowieso :-)) - die Antworten von Antje sind ja nur noch zum kugeln :-)

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      1. Hi wahsaga, hi Tobias

        achtung, extremer trollalarm!
        mich wundert es das
        <img src="/images/13.gif" border="0" alt="">
        noch nicht kam :-)

        :-) die Threadteilnehmer waren alle sehr diszipliniert und ignorierten meine Namensvetterin (was für eine Schande ;-) erfolgreich.

        du hast mich neugierig gemacht (ok, das bin ich sowieso :-)) - die Antworten von Antje sind ja nur noch zum kugeln :-)

        ja, ein richtig dummer Troll :-), tatsächlich ärgert mich daran nur, dass ich jetzt nicht mehr mit "Antje" nach meinen Postings suchen kann.

        wahsaga, mir gefallen übrigens deine Zusammenfassungen zu kritischen Threads. Weiter so.

        Viele Grüße

        Antje

        1. Hallo Antje,

          meine Namensvetterin (was für eine Schande ;-)

          ich schäm mich auch manchmal, was meine Namensvetter so zustande bringen :-)

          tatsächlich ärgert mich daran nur, dass ich jetzt nicht mehr mit "Antje" nach meinen Postings suchen kann.

          machs wie ich - ich häng immer noch den ersten Buchstaben des Nachnamens dran (oder lass deine Postings einfach markieren - das ist natürlich noch einfacher :-))

          Grüße aus Nürnberg
          Tobias

          --
          Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|