Yog*_*esh 1 sql sql-server sql-scripts
如果我在脚本下运行没有字符"|" 它工作,但当我添加char"|" 它不工作如何添加char"|" 使用sql脚本来发短信?
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
Run Code Online (Sandbox Code Playgroud)
谢谢
管道字符在批处理命令中具有特殊含义,因此必须使用插入符字符对其进行转义.这应该工作:
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
Run Code Online (Sandbox Code Playgroud)
虽然这不是将数据写入文本文件的好方法:通常SQL Server不应该有权写入C:驱动器的根目录,并且xp_cmdshell默认情况下是禁用的.我建议你用你喜欢的语言(PowerShell,Perl,Python等等)查看替代方案sqlcmd.exe,bcp.exe或者一个小脚本.
从SQL Server查询数据通常比从服务器端推出数据更容易,更安全,更灵活.在您的特定情况下,您似乎想要写出分隔文件,并且bcp.exe用于此目的.
| 归档时间: |
|
| 查看次数: |
48073 次 |
| 最近记录: |