2016-12-06 3 views
1

Ich versuche, eine TXT-Datei in einem freigegebenen Ordner mit xp_cmdshell in SQL Server zu erstellen.xp_cmdshell SQL Server 2012: Wie erstellt man eine Textdatei mit "< , >" Zeichen drin?

Der Code funktioniert perfekt, aber ich brauche den Text zu beginnen:

"<0600 ..." 

Also, wenn ich " < " oder " > " in der Abfrage schreiben, erhalte ich eine Fehlermeldung:

The system cannot find the file specified.

Hier ein Beispiel für meinen Code:

declare @Text as nvarchar(150) declare @Cmd as nvarchar(100) set @Text = '<0600 /SERIAL= ....>' set @Cmd ='echo ' + @Text + ' > C:\Test.txt' execute ..xp_CmdShell @Cmd 

Also, wie kann ich die Textdatei wi erstellen th diese Charaktere?

Antwort

0

die Umleitungssymbole Escape (< und >) mit ^

declare @Text as nvarchar(150) 
declare @Cmd as nvarchar(100) 

set @Text = '^<0600 /SERIAL= ....^>' 
set @Cmd ='echo ' + @Text + ' > C:\Test.txt' 

execute ..xp_CmdShell @Cmd 

http://www.robvanderwoude.com/escapechars.php

+0

Es funktioniert super! Vielen Dank. –

Verwandte Themen