Veröffentlicht 1. März 201015 j Hallo zusammen! Ich hänge schon seit einiger Zeit an einem Problem und ich hoffe, dass ihr mir helfen könnt: Ich hab eine Access-Datenbank mit mehreren Tabellen und diese will ich nun auf einen SQLServer 2008 migrieren. Die Tabellen sind alle unterschiedlich aufgebaut und unterschiedlich groß. Das Auslesen der Daten funktioniert einwandfrei. Mein Problem ist nun der 'INSERT INTO'-Befehl. Kann mir da jemand bitte helfen?! Vielen Dank!!
1. März 201015 j Hui! Danke für die schnelle Reaktion!! Mein Problem genau ist, dass mein bei dem INSERT INTO ja mit Parametern arbeiten muss. Das hab ich im Internet gefunden: insertCmd.Parameters.Add("@FirstName", SqlDbType.NVarChar, 10, FirstName") Ich hab keine Ahnung, wie ich die einzelnen Typen ermitteln kann, da sich in den unterschiedlichen Tabellen unterschiedliche Spalten und Werte befinden. Bearbeitet 1. März 201015 j von eisblume
1. März 201015 j Mein Problem genau ist, dass mein bei dem INSERT INTO ja mit Parametern arbeiten muss. Das hab ich im Internet gefunden: Die Aussage ist so nicht richtig. Die eigentliche SQL-Anweisung lautet (ein Beispiel): INSERT INTO Personen (Name, Vorname) VALUES ('Mustermann','Max'); Zur Not kann man(n) sich das Schema der Tabelle(n) auslesen. Darüber kommt man an die Datentypen der Spalten.
1. März 201015 j So hab ich mir das ursprünglich auch gedacht, aber dann bekomm ich folgende Fehlermeldung: "Ungültiger Objektname 'neueTabelle' ". Aber der Name der Tabelle stimmt . Hast du mir ein Code-Beispiel dazu?
1. März 201015 j So hab ich mir das ursprünglich auch gedacht, aber dann bekomm ich folgende Fehlermeldung: "Ungültiger Objektname 'neueTabelle' ". Aber der Name der Tabelle stimmt . Hast du mir ein Code-Beispiel dazu? Die neue Tabelle existiert auch? Ein INSERT fügt in eine bestehende Tabelle ein. Code gebe ich nicht gern vor, wo wäre denn da der Lerneffekt? ;-) Außerdem gibt es da eine große Suchmaschine, die Dir bei den passenden Suchbegriffe mehr als eine Antwort geben wird.
1. März 201015 j Ja, die Tabelle existiert!! - Darüber hinaus besitzt die neue Tabelle auch die gleich Struktur wie die alte... . Als ich nach Lösungen geschaut hab, bin ich auf die Sache mit den Parametern gekommen, aber damit kann ich auch nichts anfangen. Bin am Rand der Verzweiflung :'(
1. März 201015 j Kannst Du den Code vom Erstellen der Connection bis hin zum Absenden des Commands posten? Passwörter können ausgeblendet werden. Funktioniert der INSERT Befehl auf dem Server (SQL Management Console)?
2. März 201015 j Das ist nicht so einfach, da das Ganze ein bisschen komplexer aufgebaut ist... Aber das Aufbauen der Connection, sowie das Auslesen der Daten funktiontiert. An dieser Stelle hängt es nun (zur Info strFields und strValues sind String() ): Dim strInsert As String = "INSERT INTO " & getDatenbankname() & ".tbl" & Tabellenname & " (" & strFields & ") VALUES (" & strValues & ");" Debug.Print(strInsert) und herauskommt: INSERT INTO Projekt.tblKunde ('Name', 'Vorname', 'Telefon', 'BLZ', 'Bank') VALUES ('Maier', 'Peter', '0801/1234', '12345608', 'Test Bank eG'); und dazu die schöne Fehlermeldung: Ungültiger Objektname 'Projekt.tblKunde'
2. März 201015 j Ist der Datenbankname "Projekt" oder der Owner? (Bin etwas verwirrt, durch die Funktion "getDatenbankname") Funktioniert es vielleicht mit einem voll qualifierten Objektnamen (DATENBANKNAME.OWNER.TABELLENNAME)?
2. März 201015 j Ist der Datenbankname "Projekt" oder der Owner? (Bin etwas verwirrt, durch die Funktion "getDatenbankname") Funktioniert es vielleicht mit einem voll qualifierten Objektnamen (DATENBANKNAME.OWNER.TABELLENNAME)? Dem würde ich mich jetzt erst mal anschließen. Zusätzlich noch die Frage(n): 1.) Funktioniert dieser String (INSERT INTO...) auch auf dem Server, wenn Du Ihn per Management-Konsole eingegeben bzw. kopiert hast? 2.) Zweiter Weg wäre, dieses Insert-Kommando als Stored Procedure auf dem Server abzulegen. Übergabe-Parameter wären da der Tabellenname und die zuzufügenden Values :-)
2. März 201015 j Ich habs.... so viel Dummheit sollte bestraft werden... *kopfschlag* :upps Ich darf die Feldbezeichnung nicht in Hochkommata setzen. Trotzdem Danke an alle ! :valen
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.