【发布时间】:2020-02-02 04:35:30
【问题描述】:
我正在尝试从视图中生成一个新的格式文件,以创建一个以竖线分隔的平面文件。
我在 SSMS 2014 中使用 xp_cmdshell
我正在使用此代码:
BCP [UGM31EdwDemo].dbo.vwCCLF1_Output format nul -c -f C:\CCLF1Demo.fmt -t, -T
这是我收到的结果:
SQLState = S1000,NativeError = 0
错误 = [Microsoft][ODBC Driver 13 for SQL Server]无法打开 BCP 格式化文件
任何帮助将不胜感激。
【问题讨论】:
-
可能还有其他问题,但我在下面提供了一个答案,这可能是发生了什么。一个重要的注意事项是,您应该避免使用 XP_CMDSHELL。当命令被允许时,它会带来严重的安全风险。它应该在 SQL Server 上被禁用
-
你会推荐什么命令来代替 XP_CMDSHELL?
-
这应该作为另一个问题提交,但不要问使用哪个问题。只是问问,一般来说,生产环境/自动化还有哪些其他选项,而不是使用 xp_cmdshell 通过 t-sql 调用 BCP。但还有其他选择。 SSIS bcp 通过执行过程任务,t-sql “批量插入”,如果您只需要加载数据和 SSIS 数据流供初学者使用。
标签: sql-server ssms bcp