日期:2014-05-18  浏览次数:20877 次

带变量的bcp导入问题
Create   proc   HR_EXP1  
txt_path     nvarchar(1000)
as
declare   @sql   nvarchar(1000)
set     @sql= 'bcp   HR.dbo.tb_shuiwudice   out   'txt_path '   -c   -q   -S "SXL100 "   -U "sa "   -P " " '
EXEC   master..xp_cmdshell   @sql

执行以上语句提示如下:

服务器:   消息   170,级别   15,状态   1,过程   HR_EXP1,行   2
第   2   行:   'txt_path '   附近有语法错误。
服务器:   消息   170,级别   15,状态   1,过程   HR_EXP1,行   5
第   5   行:   'txt_path '   附近有语法错误。

------解决方案--------------------
txt_path改成@txt_path
------解决方案--------------------
Create proc HR_EXP1
@txt_path nvarchar(1000)--加上@变量
as
declare @sql nvarchar(1000)
set @sql= 'bcp HR.dbo.tb_shuiwudice out '+@txt_path+ ' -c -q -S "SXL100 " -U "sa " -P " " '
EXEC master..xp_cmdshell @sql