Export von Daten

freshman

Datenbank-Guru
Beiträge
100
Hallo zusammen, nun hantiere ich ja schon was länger mit bcp rum, vielleicht ist das aber das falsche Werkzeug??!!
Mein Ziel ist, 2 Datenbanktabellen miteinander zu vergleichen, und die übereinstimmenden Daten in eine csv Datei zu schreiben, INKL Spaltenname. Mit bcp stoße ich auf die Grenze, das meine Abfrage länger als 128 Zeichen ist, und das kann bcp nicht.
Was für ein Tool kann ich denn sonst noch benutzen?

DANKE
frehman
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.394
Natürlich könntest du dir mit einer Sicht mit kürzeren Spaltennamen behelfen, aber praktikabel hört sich das nicht an. Nutzt du bcp denn nur für Export oder für was genau? Wenn dein Problem nur durch die Spaltenüberschrift besteht, dann würde ich erstmal mit einer Sicht arbeiten, also den SELECT mit der UNION ALL Klausel und der Überschrift ausgliedern.
 

freshman

Datenbank-Guru
Beiträge
100
Hi, Du ja wieder... :)
Ja, ich nutze bcp für den EXPORT in eine csv-Datei. Jemand anders benötigt diese csv um Sie wieder zu importieren, Spaltennamen können nicht gekürzt werden, da das andere Programm diese Namen für die Zuordnung braucht.
Ich hatte auch schon daran gedacht, die Spaltennamen extra zu exportieren, und dann die eigentlichen Daten anzuhängen.. diese funktioniert aber nicht... es gibt keinen Parameter im bcp für anhängen von Daten.
was nün, bräunes Hühn? (würde Heinz Erhard nun sagen)
:)
 

ukulele

Datenbank-Guru
Beiträge
4.394
Erstelle eine Sicht in deinem SQL Server, pack da die SELECT spaltenname...UNION ALL...SELECT FROM tabelle Anweisung rein und nutze in bcp nur SELECT * FROM sicht.
 

freshman

Datenbank-Guru
Beiträge
100
mmmhh.. hab ich noch nicht gemacht, kriege auch Fehler...

CREATE VIEW DoeBCP
AS
SELECT 'TSTNR1', 'FIRMA'
UNION ALL
SELECT TSTNR1, FIRMA
FROM StListTest2.dbo.ITest INNER JOIN StListTest2.dbo.ArtNr
ON ITest.TSTNR1 = ArtNr.Artikelnummer

Fehler:
Meldung 4511, Ebene 16, Status 1, Prozedur DoeBCP2, Zeile 3
Fehler beim Ausführen von CREATE VIEW oder CREATE FUNCTION, da für die 1-Spalte kein Spaltenname angegeben wurde.
 

ukulele

Datenbank-Guru
Beiträge
4.394
Probier mal:
CREATE VIEW DoeBCP
AS
SELECT 'TSTNR1' AS TSTNR1, 'FIRMA' AS FIRMA
UNION ALL
SELECT TSTNR1, FIRMA
FROM StListTest2.dbo.ITest INNER JOIN StListTest2.dbo.ArtNr
ON ITest.TSTNR1 = ArtNr.Artikelnummer
 

freshman

Datenbank-Guru
Beiträge
100
COOL!!!
Durch die Sicht hab ich mein Ziel erreicht :)
Danke UKULELE... warum bist eigentlich kein Moderator hier?
Machst das alles nur so.. oder wie kommts??
Nochmals TAUSENDDANK
wer möchte, dem Stelle ich gerne die Sichterstellung und das daraus resultierend BCP zur Verfügung, einfach melden!
 

Walter

Administrator
Teammitglied
Beiträge
421
Werbung:

freshman

Datenbank-Guru
Beiträge
100
Nun, ich hab vor ein paar Monaten erste Erfahrungen mit SQL gemacht.. ab und an fehlt mir noch der richtige Gedankenanstoss....
Mache ich ja auch nur Nebenbei..... ist nicht mein Hauptjob.... Aber, wenn ich sehe, was ich mittlerweile für Daten aus Datenbanken ziehe, bin ich schon manchmal erstaunt, was ich schon kann :)
Aber Internet ist ja auch voll von den richtigen Ratschlägen..
Und dann diese Forum hier... ich finde das super... vielleicht kann ich ja auch mal jemandem helfen....
Danke nochmal
 
Oben