我一直在使用命令行中的bcp实用程序将查询结果保存到文本文件中,例如
C:> bcp "SELECT Name FROM [DatabaseName].[dbo].[Employees]" queryout "filepath.txt" -c -T
我目前正试图从存储过程中找到执行此命令和类似的bcp命令。
研究解决方案
尝试解决方案(以下代码位于存储过程中)
DECLARE @job NVARCHAR(100)
SET @job ='execute_bcp'
EXEC msdb..sp_add_job @job_name = @job,
@description = 'Execute bcp command',
@owner_login_name = 'sa',
@delete_level = 1
EXEC msdb..sp_add_jobstep @job_name = @job,
@step_id = 1,
@step_name ='Command Shell Execution', @subsystem = 'CMDEXEC',
@command = 'bcp "SELECT Name FROM [DatabaseName].[dbo].[Employees]" queryout "filepath.txt" -c -T',
@on_success_action =1
EXEC msdb..sp_add_jobserver @job_name =@job
EXEC msdb..sp_start_job @job_name = @job
运行此存储过程的结果是 ' execute_bcp'已经开始。
但是,当我检查上面指定的文件路径位置时,尚未创建该文件。
提前感谢您的任何帮助和建议。