[英]Problem with BCP writing to .txt file from SQL
我正在使用 Sql2008 尝试运行此 BCP 命令,但它从未创建文件。
-- Export query
DECLARE @qry2 VARCHAR(1000)
SET @qry2 = 'SELECT * FROM @SkippedProductsTable'
-- Folder we will be putting the file in
DECLARE @incomingfolder VARCHAR(1000)
SET @incomingfolder = 'c:\Logs'
DECLARE @bcpCommand VARCHAR(2000)
SET @bcpCommand = 'bcp "'+@qry2+'" queryout "'+@incomingfolder+'\SkippedProducts-'+CAST(@StoreMatchCode AS VARCHAR)+'-'+'.txt" -c -T'
PRINT @bcpCommand
EXEC MASTER..xp_cmdshell @bcpCommand, no_output
创建的命令如下所示:
bcp "SELECT * FROM @SkippedProductsTable" queryout "c:\Logs\SkippedProducts-1330-.txt" -c -T
谁能建议可能出了什么问题? 我以前从未使用过 BCP,也不确定从哪里开始寻找。
首先,我知道该文件夹肯定存在于该位置
我认为问题是SELECT
。
您是来自未在查询中声明的表变量的SELECT
,因此 BCP 无事可做。
表变量仅在调用它们的上下文中持续存在,因此即使您在查询中有一个,并且在第一个查询中有动态 sql 或子进程,它们也无法看到表变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.