Mehrere .CSV Datein importieren

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ThunderFrog.

    Mehrere .CSV Datein importieren

    Hallo Community,

    ich steht vor einen Problem:

    Von einer Website lasse ich mir mittels PHP ein .csv Abbild der Datenbank erstellen mit den Tabellen die ich brauche und speichere diese in einzelnen Dateien ab ( je Tabelle eine .csv Datei )

    Die Dateien werden dann im Verzeichnis meines VB Programm abgelegt.
    Das aufrufen und anzeigen einer .csv in mein Gridview klappt wunderbar.

    VB.NET-Quellcode

    1. Dim sAppPath As String sAppPath = Application.StartupPath
    2. Dim constr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sAppPath & ";Extended Properties=""text;HDR=Yes;FMT=Delimited"";"
    3. Dim SQL As String = "Select * From reifenmarkt.csv"
    4. Dim dt As New DataTable
    5. Dim conn As New OleDb.OleDbConnection(constr)
    6. Dim da As New OleDb.OleDbDataAdapter(SQL, conn)
    7. Try
    8. conn.Open()
    9. da.Fill(dt)
    10. conn.Close()
    11. main.DataGridView1.DataSource = dt
    12. Catch ex As Exception
    13. End Try



    Jetzt zu meiner eigentlichen Frage:
    Ist es möglich mehrere .csv Datei zu laden und dann eventuell mittels JOINS die Zuordnung herzustellen ?

    Dateinamen:
    Reifenmarkt.csv (quasi die Hauptdatei)
    Charge.csv
    Hersteller.csv
    Typ.csv

    Anbei noch ein bild der Datenbankstrucktur der MYSQL Datenbank.
    Ich hoffe mir kann jemand den richtigen Weg zeigen ;)

    Edit: Wieso zeigt er den VB Code nicht "schöner" an ? -.-
    Bilder
    • datenbank-modell.PNG

      39,34 kB, 514×512, 185 mal angesehen
    Mal eine andere Signatur ;)

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

    csv kann eine vollständige Datenbank darstellen - inklusive Relationen zw. den Tabellen.
    Relationen und so Zeugs kann man in einer speziellen Datei ablegen, im selben Ordner, wo auch die csv-Tabellen rumliegen.

    blos welche verlorene Seele wird sowas machen wollen?

    Also ich würde alle Tabellen des csv-Ordners in ein typisiertes Dataset einlesen, und das als eine Datei auf platte speichern.
    Und wenns 100MB groß ist, dann eben in eine sqlite-Datenbank schieben.

    Wieso zeigt er den VB Code nicht "schöner" an ? -.-
    Bitte VB-Tag benutzen - aber richtig
    Hey, erstmal danke für den Tipp mit dem Editor :D

    Damit man noch mehr infos bekommt was ich vorhabe:

    Ich habe ein CMS ( PHP & mySQL ) geschrieben und möchte keine Web-Administration sondern eine Desktop-Administration machen.
    Und irgendwie muss ich ja an die Daten aus der mysql Datenbank bekommen.

    Dachte mir das es mit einer .csv Datei besser, schneller und schöner ist.
    Mal eine andere Signatur ;)
    Uhh ganz falscher Ansatz.
    Die ganze Datenbank kopieren ist total overkill für die Datenbank und für dich. (Stell dir mal vor du hast ne rieeßen Datenbank - immer da alles rausholen, runterladen, importieren usw... nä besser nicht...)
    Verbinde dich doch einfach auf deine Mysql-Datenbank aus dem VB.NET Code aus und hol dir die Daten raus die du willst. Du kannst somit auch direkt in die Datenbank reinschreiben und musst die Daten nicht wieder in die Datenbank importieren.

    Also kurz: Verbinde dich auf die Datenbank. Lad dir dort immer die Daten runter(die sind dann auch immer aktuell) und speicher die geänderten Daten wieder rein. Fertig.

    Auf jeden Fall mit CSV's wird das nicht viel. Wenn du Sicherungen machen willst, musst du auch nen bisschen nen anderes Konzept anstreben.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Ich möchte aber nicht unbedingt meine mySQL Datenbank "öffentlich" zugänglich machen.

    Anhand der vielen PHP & mySQL Beiträge hier im Forum habe ich es ja auch geschafft, die Login-Routine meines CMS zu nutzen um mich per VB-Programm einzuloggen.
    Doch leider bleibt mir aktuell eine Wissenlücke wie ich SQL-Results aufsplitte und in Textboxen bzw. ins Gridviews ausgeben kann.
    Mal eine andere Signatur ;)
    Was heißt "öffentlich"?
    Jeder Benutzer der das CMS installiert braucht auch eine Datenbank. Und von dieser wird er ja auch die Zugangsdaten haben.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Es ist ein CMS was nicht Downloadbar ist und nur von mir verwendet wird.

    Vermute ich es richtig, das du mir durch die Blume sagen willst, das ich die mySQL Daten direkt in meinem VB Programm schreiben soll ? 8|
    Das Programm wird auch nur ausschließlich von mir verwendet.
    Mal eine andere Signatur ;)