sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan opretter du en tekstfil ved hjælp af sql-script med tekst |

Pibekarakteren har en særlig betydning i batch-kommandoer, så den skal være undsluppet ved hjælp af caret-karakteren. Dette burde virke:

DECLARE @Text AS VARCHAR(100)
DECLARE @Cmd AS VARCHAR(100)
SET @Text = 'Hello world^| '
SET @Cmd ='echo ' +  @Text + ' > C:\AppTextFile.txt'
EXECUTE Master.dbo.xp_CmdShell  @Cmd

Selvom dette virkelig ikke er en god måde at skrive data til en tekstfil på:normalt burde SQL Server ikke have tilladelse til at skrive til roden af ​​C:-drevet og xp_cmdshell er deaktiveret som standard. Jeg foreslår, at du ser på alternativer som sqlcmd.exe , bcp.exe eller et lille script på dit foretrukne sprog (PowerShell, Perl, Python, hvad som helst).

Det er generelt meget nemmere, sikrere og mere fleksibelt at forespørge data fra SQL Server, end det er at skubbe dem ud fra serversiden. I dit specifikke tilfælde ser det ud til, at du vil skrive en afgrænset fil ud, og bcp.exe er beregnet til det formål .



  1. MySQL-konsollen er langsom ved import af store SQL-filer

  2. Django Postgres ArrayField vs One-to-Many-forhold

  3. Nogle ideer om ressourcepooling på lavt niveau i PostgreSQL

  4. MySQL Limit, Group og AVG Query