[gelöst]BCP - Maskierung $-Zeichen in Tabellenname

21. Mai 2020 09:36

Hallo zusammen,

ich würde gerne einen regelmäßigen Export von Daten mandantenübergreifend durchführen. Ich habe mich dabei für eine Batch-Datei, die mit Hilfe des BCP-Hilfsprogramm den Export durchführt entschieden.

Hier habe ich das Problem, dass die Tabellen von Dynamics NAV nach dem Prinzip <Mandant>$<Tabellenname> benannt sind. Das Dollarzeichen ist mein Problem.

Verwende ich den Befehl

Code:
bcp "[Cronus].[dbo].[Cronus AG$Item]" out D:\temp\test.csv -S "VWO-NB\SQL2017" -T -c -t";"


erhalte ich die Meldung "Ungültiger Objektname "dbo.Cronus AG".

Wähle ich einen Tabellennamen ohne "$"-Zeichen (bei mandantenübergreifenden Tabellen) funktioniert der Export problemlos.

Weiß jemand, wie ich das Zeichen maskieren kann, damit der Befehl ausgeführt wird?

Viele Grüße
Volker
Zuletzt geändert von NAVguru am 28. Mai 2020 08:47, insgesamt 1-mal geändert.

Re: BCP-Bulk Copy Progr. - Maskierung $-Zeichen in Tabellenn

21. Mai 2020 12:31

Schon "\" versucht?

Re: BCP-Bulk Copy Progr. - Maskierung $-Zeichen in Tabellenn

21. Mai 2020 13:47

Hallo Michael,

gerade versucht. Ohne Erfolg :-(

Ungültiger Objektname "Cronus.dbo.Cronus AG\"

Danke für den Tipp & die schnelle Antwort.

Gruß
Volker

Re: BCP-Bulk Copy Progr. - Maskierung $-Zeichen in Tabellenn

25. Mai 2020 09:35

funktioniert bei mir wunderbar

Code:
C:\Users\StephanWeikelt>bcp "[BC140_BSSSP0015].[dbo].[CRONUS cleaning pro$Item]" out c:\temp\test.csv -S "localhost" -T -c -t";"

Kopiervorgang wird gestartet...

200 Zeilen kopiert.
Netzwerkpaketgröße (Bytes): 4096
Zeit (ms.) gesamt: 16     Durchschnitt: (12500.00 Zeilen pro Sek.)


ok, mein Mandant heißt "CRONUS cleaning pro" ...aber das sollte damit nix zu tun haben --> wie du siehst, habe ich noch die DB vorgestellt

Re: BCP-Bulk Copy Progr. - Maskierung $-Zeichen in Tabellenn

25. Mai 2020 09:59

Danke für die Rückmeldung. Die DB ist bei mir auch dabei.

Habe es gerade mit dem Login 'sa' getestet. An den Berechtigungen kann es auch nicht liegen.

Ich habe BCP inder Version 12.0.2000.8. Aktuell ist wohl 15.x.

Ich werde die aktuelle Version installieren und berichten.

Re: [gelöst]BCP - Maskierung $-Zeichen in Tabellenname

28. Mai 2020 08:53

Hatte heute eine Idee.

Ich nutzte die Eingabeaufforderung statt Powershell. .... funktioniert tadellos ;-)

Maskieren kann man in der Powershell das $-Zeichen durch ein vorangestelltes "`".

Code:
bcp "[Cronus].[dbo].[Cronus AG`$Item]" out D:\temp\test.csv -S "SQLServer" -T -c -t";"


Nochmal vielen Dank für die Hilfe

Re: [gelöst]BCP - Maskierung $-Zeichen in Tabellenname

28. Mai 2020 09:12

Ja Powershell und das $-Zeichen...