VB Einsteiger und Probleme beim Zugriff auf Oracle-Datenbanken

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von PrinzMegahertz.

    VB Einsteiger und Probleme beim Zugriff auf Oracle-Datenbanken

    Hallo liebe Community,

    ich steige gerade von Delphi auf VB.net um und versuche mich in die Grundlagen einzuarbeiten. Das ist mir bei den meisten Sachen gut gelungen, aber das anbinden einer ORACLE-Datenbank über die TNS-Names ist für mich noch ein Buch mit Sieben siegeln.

    Aaaaalso, das ist mein aktueller Stand:

    Ich habe hier eine frisch installiertes Visual Studio 2012 und die Oracle Developer Tools für VS2012. Im Server Explorer ist eine entsprechende Datenverbindung angelegt (nennen wir Sie mal SYSADM.ODB01) und kann die auch öffnen und die in der Datenbank hinterlegten Tabellen einsehen. Was ich nicht weiß ist, wie ich aus meinem VB-Code auf diese bereits definierte Verbindung zugreifen kann. Wo finde ich den Inhalt des Server-Explorers denn hinterlegt?

    Sorry, wenn das komplett blöde Anfängerfragen sind, aber ich stehe da komplett auf dem Schlauch.

    Besten Dank!
    Meines Wissens hat das wenig mit dem Serverexplorer zu tun. Du musst wahrscheinlich(ich gehe jetzt immer von mysql aus) eine Lib einbinden welche wiederum Klassen beinhaltet welche du verwenden kannst um auf die Datenbank zu kommen. Das wesentlich leichtere und meiner Meinung nach bessere wäre(und hier brauchst du den Serverexplorer) das Entityframework zu verwenden. Wie das funktioniert könntest du z.B. hier nachlesen: msdn.microsoft.com/de-de/libra…o/bb399182(v=vs.100).aspx

    Bin mir beim Ersten Punkt jedoch nicht ganz sicher.


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

    normalerweise, wenn du eine DB in dein Projekt einbindest, bietet dir VB an, gleich ein DataSet dafür zu erstellen. Hatter das bei Dir nicht getan? Das Schöne an VB ist, das diese Geschichten (Connection usw.) eigentlich automatisch generiert werden. Das DataSet (alternativ Entity-Framework, aber damit kenne ich mich net aus) ist dein Mapper, mit dem du dann vollen Zugriff auf die DB hast.

    Falls du noch kein DataSet hast: in der Projektmappe auf deine Application rechtsklicken, Hinzufügen, neues Element, Dataset -> Namen vergeben, OK.
    Dann erscheint der Designer und du brauchst aus deinem Datenbank-Explorer die benötigten Tabellen einfach per DragAndDrop ins DataSetFenster ziehen. Für die Relations dann irgendwo im DataSetDesigner rechtsklicken, hinzufügen, Relation. Der Rest ist selbsterklärend bzw. du wirst net darum herum kommen, dich in DataSets einzulesen.

    EDIT: Wie man mit DataSets umgeht, dazu gibbet ein paar richtig gute Tutorials hier im Forum: Guggstu hier

    Greetings
    Marz
    Ich code nur 'just for fun'! Damit kann ich jeden Mist entschuldigen, den mein Interpreter verdauen muss :D
    Erstmal vielen Dank für eure Antworten!

    Die Links werde ich mir gleich anschauen :) .

    Eigentlich ist alles was ich will ein kleines Programm, dass eine Verbindung zu meiner Datenbank aufbaut, eine Query losschickt und mir den Inhalt der Datensätze als Tabelle in einem ListView anzeigt. Mein Dataset soll also nur der Rückgabewert der Query sein, wenn ich aber ein Datenset als Datenquelle definiere, dann sehe ich bisher nur die Möglichkeit, komplette Tabellen anzuwählen. Aber vielleicht hilft ja einer der von euch geposteten Links weiter :)

    In Delphi hätte ich das Problem so gelöst:

    Ich hätte als Komponenten eine TOracleSession und eine TOracleQuery ins mein Fenster gezogen. Diese Elemente hätten dann Eigenschaften gehabt, die ich entsprechend konfiguriere (also bei der Session Datenbankname aus der TNS-Ora, Benutzername, Passwort usw.) und hätte bei der Query meine SQL-Abfrage hinterlegt (select * from tab1 where rownum < 5).

    Dann hätte ich die Verbindung ausgeführt (TOSession.connect()) und die Query gestartet (TOQuery.execute()). Mit einer While-Schleife wäre ich dann durch alle Einträge des Resultsets gegangen (TOQuery.next()) und hätte in der Schleife den Inhalt (TOQuery.field) nach Gutdünken verarbeiten können.

    Lässt sich ein ähnlich einfaches Konzept in VB2012 umsetzen, oder muss ich hier komplett anders an die Sache rangehen?



    Besten Dank!
    in Ado.Net kannst du den TableAdaptern Queries hinzufügen, sowas wie "select * from tab1 where rownum < ?" und erhälst eine Methode, der du fürs '?' einen Parameter angibst, und die führt dann die Query aus.
    ich weiß aber grad kein gut tut dafür, weilich machdas immer anners. Such mal auf Forms over Data Videos - vlt. ist ja was dabei.