Tabellen auf SQL Importieren

  • VB.NET

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

    Tabellen auf SQL Importieren

    Guten Morgen Liebe Community ,
    erstmal möchte ich mich für dieses Forum bedanken , bin Anfänger also wirklich richtiger Anfänger in Sachen Programmieren.
    Und ich habe dank diesen Forum schon so kleine Probleme Lösen können , und dank der guten Anfänger Tipps meine Grundlagen für das Verständnis erweitern können.


    Ich habe jetzt eine Auftrag bekommen bei den ich nicht wirklich weiter weiß.
    Ich habe CSV Tabellen auf eine SQL Server damals Importiert, es waren mehrere Tabellen .
    So nun muss ich aber alle diesen Tabellen in eine end Tabelle Importieren,
    Bsp:
    Tabelle1>>>>
    Tabelle2>>>> Diese sind auf den SQL Server , besitzen alle eine Stored procedure , damit ich sie ja mit VB.net Importieren konnte.
    Tabelle3 >>>>

    Diese verschiedenen Tabellen aber jetzt alle nur 5 gleiche Spalten , diese Sollen in der END Tabelle zusammen kommen .

    Also
    Tabelle1>>>>
    Tabelle2>>>> zu END Tabelle
    Tabelle3 >>>>

    Nur mein Problem wie kann ich die mit einem Code in die EndTabelle bekommen :cursing: , ich dachte man können es eventuell mit der gleichen Methode machen wie bei den anderen Tabellen , aber genau wüsste ich jetzt nicht was ich da noch einfügen müsste .

    Hat vielleicht einer von euch eine Idee wie das klappt , und wenn kann er mir das erklären , will ja was Lernen und nicht einfach nur irgend welche Codes aus dem Forum bekommen .
    Ich wäre euch sehr dankbar für jede Hilfe ich bekomme.
    LG Chillazz

    hier der Code wie ich die andere Tabelle Importiert habe , also die einzelnen.

    VB.NET-Quellcode

    1. Option Explicit On
    2. Imports System
    3. Imports System.IO
    4. Imports System.Collections
    5. Imports ****<<<Nicht beachten
    6. Imports System.Data.SqlClient
    7. Imports System.Net.Mime.MediaTypeNames
    8. Module ModulImport
    9. Sub Main()
    10. Dim objReader As New StreamReader("U:\LarsJ\Depottransparenz\Importdatein\CSV\OrgGLS.CSV")
    11. Dim strLine As String = ""
    12. Dim arrText As New ArrayList()
    13. Dim data As ****Nicht Beachten
    14. Dim dt As System.Data.DataTable
    15. Dim con As SqlConnection
    16. Dim strParamArray(9, 1) As String
    17. Dim strFields(9) As String
    18. data = Nicht beachten()
    19. con = data.SqlConn(IO.Path.Combine(Environment.CurrentDirectory, "C:\benutzer\ordner\config.xml"))
    20. 'ReDim strParamArray(9, 1)
    21. 'If dt.Rows(0)("Fehlermeldung") <> "" Then
    22. 'Überschrift überlesen
    23. strLine = objReader.ReadLine()
    24. Do
    25. strLine = objReader.ReadLine()
    26. If Not strLine Is Nothing Then
    27. strFields = Split(strLine, ";")
    28. strParamArray(0, 0) = "@Feld1"
    29. strParamArray(0, 1) = strLine(0)
    30. strParamArray(1, 0) = "@Feld2"
    31. strParamArray(1, 1) = strLine(1)
    32. strParamArray(2, 0) = "@Feld3"
    33. strParamArray(2, 1) = strLine(2)
    34. strParamArray(3, 0) = "@Feld4"
    35. strParamArray(3, 1) = strLine(3)
    36. strParamArray(4, 0) = "@Fedl5"
    37. strParamArray(4, 1) = strLine(4)
    38. strParamArray(5, 0) = "@Fedl6"
    39. strParamArray(5, 1) = strLine(5)
    40. strParamArray(6, 0) = "@Fedl7"
    41. strParamArray(6, 1) = strLine(6)
    42. strParamArray(7, 0) = "Fedl8"
    43. strParamArray(7, 1) = Replace(strFields(7), ",", ".")
    44. strParamArray(8, 0) = "Fedl9"
    45. strParamArray(8, 1) = strLine(8)
    46. strParamArray(9, 0) = "Fedl10"
    47. strParamArray(9, 1) = strLine(8)
    48. dt = data.SQLSPAufruf("dbo.Tabelle1", con, strParamArray)
    49. End If
    50. Loop Until strLine Is Nothing
    51. objReader.Close()
    mich verwirrt die Fragestellung.
    Da ist die Rede von csv-Dateien, aber die sind doch garnet relevant, oder?
    Was du sollst ist ja einzig, 3 Tabellen auffm SqlServer in eine weitere Tabelle zusammenführen, ebenfalls auf dem SqlServer.

    Die Rede vonne StoredProc versteh ich auch nicht - ich kann zB problemlos auch ohne StoredProcs auf meine Tabellen zugreifen.
    Das kann man doch direkt in der DB machen, da braucht man nichtmal Daten abzurufen.
    Da gibts iwie 'ne Syntax für, mit SubSelect, sowas wie

    SQL-Abfrage

    1. Insert Into table2 Select * From table1
    Achtung- PseudoCode - so ausgefallenes Sql mussich auch immer nachlesen.

    Also google dir eine gute Doku deines Sql-Dialektes und stöber da mal bischen rum.
    Danke erstmal für die Hilfe, aber ich muss es Laut Chef mit VB.NET machen .
    Eine Stored Procedure dafür habe ich erstellt, und mit dem Besipiel oben habe ich ja die Tabellen auf den Server gepackt.
    Jetzt sollen diese ja alle in eine Letze Tabelle
    Hier mal die Stored Procedure für die ENDTabelle

    SQL-Abfrage

    1. ALTER Procedure [dbo].[uspwENDTabelle] @Monat nvarchar(2),
    2. @Jahr nvarchar(4)
    3. AS
    4. BEGIN
    5. SET NOCOUNT ON;
    6. DELETE FROM [dbo].[tmpImportAll]
    7. WHERE Monat = @Monat
    8. AND Jahr = @Jahr
    9. INSERT INTO [dbo].[tmpENDTabelle]
    10. ([Artikel]
    11. ,[Menge]
    12. ,[PLZ]
    13. ,[Preis]
    14. ,[Monat]
    15. ,[Jahr])
    16. SELECT
    17. [Artikelnummer_Lieferant]
    18. ,[Liefermenge]
    19. ,[PLZ_Lieferung]
    20. ,[EinzelPreis_Euro]
    21. ,[Monat]
    22. ,[Jahr]
    23. FROM [dbo].[tmpTabelle1]
    24. WHERE Monat = @Monat
    25. and Jahr = @Jahr
    26. usw .. also Tabelle2-3


    Und jetzt soll ich und da ist das Problem , diese Stored Procedure nutzen um damit die ENDTabelle zu füllen, und ich verzweifle echt daran.
    ;(

    Ich hoffe ich habe mich diesmal besser verständlich ausgedrückt, ist halt schwer zu schreiben wenn man nicht genau weiß was man machen soll =(, und dachte mir mehr Information ist es besser
    LG Chillazz

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

    verstehe ich richtig, dein einzig Problem ist, von .Net aus die StoredProc (die ja schon fertig ist) aufzurufen?

    Und die StoredProc erwartet keinerlei Parameter, man muss sie nur anstoßen?

    Da müsste man halt ein ganz einfaches SqlClient.SqlCommand basteln, und mit .ExecuteNonQuery abfahren.
    Genau ich danke dir schon mal, ich gucke jetzt mal ob ich diesen SQL Command zusammen gebastelt bekomme, melde mich dann nochmal mit dem hoffentlich fertigen Code.

    Edit:
    Hallo ich nochmal, ich komme zu keinen Ergebnis da ich auch einfach gar nicht weiß wie ich Anfangen soll.
    Kann mir da vielleicht jemand weiter helfen, der Anfang würde mir reichen und/oder ein Tipp was da noch alles so rein muss.
    Gruß Chillazz


    Unnötiges Vollzitat entfernt + Posts zusammengefügt
    -Artentus



    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Artentus“ ()