Benutzer mit den meisten Antworten
Query-Ergebnis in TextFile

Frage
-
Hallo allerseits,
ich benötige einmal Hilfe aus dem Forum und würde mich sehr darüber freuen. Folgende Situation:
Über eine Query wird ein Extrakt aus einer Tabelle auf dem SQL-Server (2005) gezogen.
Dieses Ergebnis soll als TextFile nach folgendem Muster für einen INSERT auf einer externen Maschine bereitgestellt werden.
Insert into TestTab (Spalte_1, Spalte_2) values
(Wert_1, Wert_2),
(Wert_3, Wert_4)
Wie kann ich das realisieren?
Vielen Dank für die Hilfe
Gruß
Antworten
-
Hallo Andreas,
ich war beruflich unterwegs und bin erst heute wieder am Platz. Deshalb die verspätete Rückmeldung. Ich habe zwischenzeitlich herausgefunden, dass mein Anliegen mit einer SQL-Server Version ab 2008 leicht zu lösen ist. Die haben wir noch nicht und so muss ich leider den Vorgang auf einem MySQL-Server abwickeln.
Trotzdem vielen Dank für deine Hilfe und einen schönen Tag.
Gruß
- Bearbeitet wavonet Donnerstag, 7. November 2013 10:01
- Als Antwort markiert Ionut DumaModerator Mittwoch, 9. April 2014 12:21
Alle Antworten
-
Da gibt es viele Möglichkeiten
man kann soetwas simples direkt mit sqlcmd und dem Parameter -o (Outputdatei) regeln
http://technet.microsoft.com/de-de/library/ms162773.aspx
oder auch mit bcp
http://msdn.microsoft.com/de-de/library/ms162802.aspx
Außerdem gibts natürlich auch noch den Daten-Export Assistenten, der das Ganze mit SSIS bewerkstelligt
Andreas Wolter | Microsoft Certified Master SQL Server
Blog: www.insidesql.org/blogs/andreaswolter
Web: www.andreas-wolter.com | www.SarpedonQualityLab.com -
Hallo Andreas,
wie ich das Query-Ergebnis in ein TextFile bekomme, ist mir schon klar (mache ich mit BCP). Mir geht es vielmehr darum, wie ich das Ergebnis in die "Vorlage" bekomme, also Spaltenbezeichner in die Insert-Klammern und Werte in die Values-Klammern. Ich habe so etwas noch nicht gemacht und deshalb die vielleicht dumme Frage.
Gruß
-
Das habe ich nicht verstanden.
Jetzt lese ich daraus, das Du einen SCRIPT für den INSERT erzeigen möchtest - nicht einfach nur die Daten exportieren.
Das ist etwas völlig anderes und geht mit bcp/sqlcmd nicht
Wie das geht, habe ich in meinem Blog mal beschrieben: http://www.insidesql.org/blogs/andreaswolter/2010/10/scripting-table-data-with-ssms-sql-server
Andreas Wolter | Microsoft Certified Master SQL Server
Blog: www.insidesql.org/blogs/andreaswolter
Web: www.andreas-wolter.com | www.SarpedonQualityLab.com -
Hallo Andreas,
ich war beruflich unterwegs und bin erst heute wieder am Platz. Deshalb die verspätete Rückmeldung. Ich habe zwischenzeitlich herausgefunden, dass mein Anliegen mit einer SQL-Server Version ab 2008 leicht zu lösen ist. Die haben wir noch nicht und so muss ich leider den Vorgang auf einem MySQL-Server abwickeln.
Trotzdem vielen Dank für deine Hilfe und einen schönen Tag.
Gruß
- Bearbeitet wavonet Donnerstag, 7. November 2013 10:01
- Als Antwort markiert Ionut DumaModerator Mittwoch, 9. April 2014 12:21
-
In SSMS ab 2008 gibt es im "Generate Scripts.." Wizard auch die Möglichkeiten für die Daten INSERT Statements generieren zu lassen.
Bei einfachen Tabellen reicht ein simples SELECT Statement bereist aus, um die Daten als INSERT Statement aufzubereiten. Beispiel mit der System-View sys.objects, die es überall gibt und somit überall nachvollziehbar ist:
SELECT 'INSERT INTO myTable ([id], [name]) VALUES (' + CONVERT(varchar, object_id) + ', ' + QUOTENAME(name, '''') + ')' AS MyInsert FROM sys.objects
Gibt das das hier aus:
INSERT INTO myTable ([id], [name]) VALUES (4, 'sysrowsetcolumns') INSERT INTO myTable ([id], [name]) VALUES (5, 'sysrowsets') INSERT INTO myTable ([id], [name]) VALUES (7, 'sysallocunits') INSERT INTO myTable ([id], [name]) VALUES (8, 'sysfiles1') INSERT INTO myTable ([id], [name]) VALUES (13, 'syshobtcolumns') INSERT INTO myTable ([id], [name]) VALUES (15, 'syshobts') INSERT INTO myTable ([id], [name]) VALUES (25, 'sysftinds') INSERT INTO myTable ([id], [name]) VALUES (26, 'sysserefs') INSERT INTO myTable ([id], [name]) VALUES (27, 'sysowners') INSERT INTO myTable ([id], [name]) VALUES (29, 'sysprivs') INSERT INTO myTable ([id], [name]) VALUES (34, 'sysschobjs') INSERT INTO myTable ([id], [name]) VALUES (41, 'syscolpars') INSERT INTO myTable ([id], [name]) VALUES (44, 'sysnsobjs') INSERT INTO myTable ([id], [name]) VALUES (46, 'syscerts') INSERT INTO myTable ([id], [name]) VALUES (49, 'sysxprops') INSERT INTO myTable ([id], [name]) VALUES (50, 'sysscalartypes')
Olaf Helper
[ Blog] [ Xing] [ MVP]