Umsteiger: Datenbankanbindung zu VB, wie gehts?

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Umsteiger: Datenbankanbindung zu VB, wie gehts?

    Hallo !

    Ganz kurz zu dem was ich grad versuche:
    Ich habe lange mit VB 4.0 prof gearbeitet und bin damit gut klargekommen.
    Jetzt soll ein Umstieg auf .NET eingeleitet werden. Ich habe mir im Moment VS 2010 Express installiert. Mein erstes eigenes kleines Programm habe ich bereits geschrieben und etliche Tutorials heruntergeladen und begonnen zu studieren.
    Ich brauche unbedingt eine Anbindung an eine Datenbank. Da ich per php bereits mit MYSQL Datenbanken umgegangen bin, wäre mir diese am liebsten. Aber ich nehme auch andere, wenn es hier für mein Vorhaben deutliche Vorteile gibt.

    Die Datenbank wird lokal installiert. Also im Idealfall auf einem Rechner, der nix anders tut als diese DB zu verwalten. Ich will mit bis zu 10 Rechnern (meist eher 2-3) auf die db zugreifen.
    Ich suche ein Tutorial, dass mir zeigt, wie das geht, also sowohl Installation, als auch Zugriff auf die Datenbank.

    Ich habe unter VB noch keine Datenbankzugriffe programmiert, also nur soviel Ahnung, wie ich brauche um unter php eine DB-Verbindung aufzubauen und diese abzufragen.

    Danke für die Mühe und sorry, dass ich mit der Suchenfunktion noch nicht fand was ich suche...

    Gruß
    mgbig
    Ich bin Umsteiger: Früher VB 4.0 prof, heute VB NET unter Studio 2019 Community Edition (und da noch ein Greenhorn :D )
    Grundsätzlich musst dir erstmal den MySQL Adapter laden (einfach von der Seite). Dann würde ich empfehlen auf das Entity Framework zurück zu greifen. Damit erspart man sich die schwer wartbaren SQL-Abfragen: dev.mysql.com/doc/connector-ne…-winform-data-source.html

    Doch bitte ich dich, das Szenario zuvor noch genauer zu beschreiben? Hat jeder Anwender eine eigene Datenbank oder greifen die Anwender auf eine Datenbank irgendwo im Netzwerk zu. Wenn ja, dann kannst du dich nicht einfach auf die Datenbank verbinden. Bzw. können schon aber nicht sollen. Gerät die Applikation in falsche Hände, dann ist deine Datenbank futsch. In diesem Fall würde sich nach Möglichkeit ein WebService anbieten, der zusammen mit der Datenbank auf einem Server läuft. Alternativ kannst du auch ein PHP-Script verwenden. Das kommt natürlich nicht an einen schönen und sauberen Web-Service ran.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Dass er VB.NET können muss, sollte klar sein. Er hat nach MySQL Zugriff mit VB.NET gefragt und eine Antwort bekommen. Jedoch, dass man die Sprache erst beherrschen musst, sollte sich von selbst verstehen ;).


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    So viele Fragen und Antworten.
    Zu meinem Projekt:
    Es greifen meist 2-3 Nutzer auf die gleichen Tabellen zu, aber es ist eine sehr geringe Wahrscheinlichkeit da, dass die gleichen Datensätze gesucht und bearbeitet werden. Aber sie ist da!!! Und es muss theoretisch möglich sein mit 10 Benutzern Zugriff zu haben.
    Ich müsste Tabellen übernehmen, die 20.000 Datensätze und mehr beinhalten.
    Es gibt ca. 15 Tabellen mit vielen Datensätzen und einige mehr mit wenigen Datensätzen.

    Ich habe begonnen mit den Datenbänkerei-Einstieg (sehr schönes Wort) mal anzusehen. Ist der Dataset von VB in der Lage solche Mengen zügig zu bearbeiten? Kann hier ein Zugriff von mehreren Arbeitsplätzen erfolgen?
    Es wird auf jeden Fall so sein, dass die Datenbank (wenn es eine gibt) auf einem eigenen Rechner liegt.

    Ich fange mit dem Umstieg insgesamt erst an. Wie oben geschrieben, habe ich mein erstes kleines Programm in .NET geschrieben.und probiere täglich mehr. Ich weiß, dass ich Jahre brauche um es zu beherrschen, aber irgendwann muss ich ja anfangen :)

    Ich werde mit Hilfe der obigen Tuts erst mal weiter probieren und bin dann sicher wieder hier :)))

    mgbig
    Ich bin Umsteiger: Früher VB 4.0 prof, heute VB NET unter Studio 2019 Community Edition (und da noch ein Greenhorn :D )
    nein, letztendlich erfordern deine Anforderung iwann das Hinterlegen einer DB.
    aber auch bei mit DB musst du genausogut mit dem Dataset und Databinding umgehen können. Siehe auch:
    Streit um ob eine DB nötig ist
    in post#19 gehe ich auf die Zusammenhänge DB-Dataset-Mapping-Technologie ein.
    Und am Ende(!), post#66 muss ich nochmal auf die Kern-Aussage zurückkommen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Problem ist, dass du die Zugangsdaten für die Datenbank offen legst. Erstelle einen WebService welcher direkt auf die Datenbank zugreift und rufe aus der Applikation den WebService auf. Alternativ kannst du natürlich wie gesagt ein PHP-Script oder etwas ähnliches benutzen. Du musst sicherstellen, dass ein Benutzer keinen Zugriff auf die Datenbank bekommen kann.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    statt php würde ich StoredProcedures verwenden.
    Das alles (webservice, php, StoredProcs) stellt übrigens nicht sicher, dass unbefugte diese Methoden nicht ausführen können.
    Sondern es schränkt insgesamt die von der DB offengelegte Funktionalität ein, sodass zumindest kein Angreifer frei formuliertes Sql an deine DB absetzen kann.
    Wirklich sicher nach Stand der Technik ist nur eine TLS-Kommunikation, und da weiß ich immer noch nicht, wie man das gebacken kriegt.

    Php ist soweit ich weiß nicht kompatibel zu dataset - StoredProcs hingegen schon, und sind auch viel performanter.
    Öhh von was redest du?
    Es geht ja nur darum sicherzustellen, dass du nicht an den Connectionstring von der Datenbank ran kommst.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Wer soll denn an meine Datenbank rankommen wollen? Das ganze soll in meinem Intranet laufen und wenn da jemand von außen Zugriff bekommt (außer der NSA ?!!?) dann habe ich ganz andere Probleme. Es gilt nur sicherzustellen, dass nicht zwei Benutzer den gleichen Datensatz gleichzeitig ändern wollen, oder???
    mgbig
    Ich bin Umsteiger: Früher VB 4.0 prof, heute VB NET unter Studio 2019 Community Edition (und da noch ein Greenhorn :D )
    In einem Intranet befinden sich trotzdem potentielle Angreifer. Du DARFST NICHT darauf vertrauen, dass sich unter den Mitgliedern nur "good guys" befinden. Noch darfst du darauf vertrauen, dass dein Netzwerk durch Firewall etc. zu 100% geschützt ist.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.