누구나 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? 내가 조작 한 데이터를 기반으로 평면 파일에 대한 쿼리 아웃을 시도하고 있습니다. 아래 코드에서 오류가 계속 발생합니다. 모든 도움을 감사하십시오!bcp 오류가 계속 발생합니다.
아무도 내가 여기서 무엇을 잘못하고 있는지 말할 수 있습니까? 내가 조작 한 데이터를 기반으로 평면 파일에 대한 쿼리 아웃을 시도하고 있습니다. 아래 코드에서 오류가 계속 발생합니다. 모든 도움을 감사하십시오!
declare variables....
select @effDate = effective_date from c_flt_src
if convert(varchar(10), @effDate, 112) = convert (varchar(10), GETDATE(),112)
set @sqleffdate = convert(varchar(10), @effDate, 112)
begin
select @all = store from c_flt_src where store = 'ALL'
if @@ROWCOUNT = 1 and @all = 'ALL'
select @action = action from c_flt_src
if @action = 'INCREASE' or @action = 'DECREASE'
set @actiontyp = 'UPDATE_STORE'
else if @action = 'REPLACE'
set @actiontyp = 'RESET_STORE'
select @a = a_amt from c_flt_src
select @b = b_amt from c_flt_src
begin
declare @c as cursor
set @c = CURSOR fast_forward for select distinct top 3 store from store_loc where store <> 0 order by store
open @c
fetch next from @c into @store
while @@FETCH_STATUS = 0
begin
--process data here
set @sql = @sqlaction + '|' + @actiontyp + '|' + @store + '|' + @a + '|' + @b
set @sql1 = '"'+'D:\file.'[email protected]+'.9999999.'+REPLICATE ('0', 3-LEN(@store)) + @store +'.deltaloc' + '"'
select @sql1
declare @s varchar(max)
set @s = ''''+'bcp "select ''''' + @sql + '''''"' + ' queryout ' + @sql1+ ' -c -t "|" -T'+''''
select @s
execute master.dbo.xp_cmdshell @s
fetch next from @c into @store
end
close @c
deallocate @c
end
end
오류가 발생하는 라인은 무엇입니까? – hallie
그리고 무엇이 오류입니까? – valex
bcp를 실행하면 오류가 발생합니다. 오류는 "프로 시저가 'varchar'유형의 매개 변수 'command_String'을 필요로합니다." 내가 왜 varchar 변수 (@s)에 param을 배치했는지 알지 못한다. – user2885241