在查询分析器中执行
exec master.dbo.xp_cmdshell 'cd C:\Program Files\Microsoft SQL Server\80\Tools\Binn'
exec master.dbo.xp_cmdshell 'bcp ebms.dbo.ATMTXNJNLHIS_LATEST in c:\atmtxnjnl.mix.del.20090708.new -c -t"," -F1 -Slocalhost -Usa -Pqiusongze'
每条执行语句给我的output为
NULL
c:\WINDOWS\system32>doskey ls=dir
NULL
c:\WINDOWS\system32>doskey l=dir
NULL
c:\WINDOWS\system32>doskey pwd=cd
NULL
c:\WINDOWS\system32>doskey vi=edit
NULL
c:\WINDOWS\system32>cls
NULL
c:\WINDOWS\system32>doskey ls=dir
NULL
c:\WINDOWS\system32>doskey l=dir
NULL
c:\WINDOWS\system32>doskey pwd=cd
NULL
c:\WINDOWS\system32>doskey vi=edit
NULL
c:\WINDOWS\system32>cls
'bcp' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
NULL
但是在dos窗口中 能正确执行
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>bcp ebms.dbo.ATMTXNJNLHIS_LA
TEST in "c:\atmtxnjnl.mix.del.20090708.new" -c -t"," -F1 -Slocalhost -Usa -Pqiu
songze
开始复制...
已复制了 6 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共 531
exec master.dbo.xp_cmdshell 'cd C:\Program Files\Microsoft SQL Server\80\Tools\Binn'
exec master.dbo.xp_cmdshell 'bcp ebms.dbo.ATMTXNJNLHIS_LATEST in c:\atmtxnjnl.mix.del.20090708.new -c -t"," -F1 -Slocalhost -Usa -Pqiusongze'
每条执行语句给我的output为
NULL
c:\WINDOWS\system32>doskey ls=dir
NULL
c:\WINDOWS\system32>doskey l=dir
NULL
c:\WINDOWS\system32>doskey pwd=cd
NULL
c:\WINDOWS\system32>doskey vi=edit
NULL
c:\WINDOWS\system32>cls
NULL
c:\WINDOWS\system32>doskey ls=dir
NULL
c:\WINDOWS\system32>doskey l=dir
NULL
c:\WINDOWS\system32>doskey pwd=cd
NULL
c:\WINDOWS\system32>doskey vi=edit
NULL
c:\WINDOWS\system32>cls
'bcp' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
NULL
但是在dos窗口中 能正确执行
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>bcp ebms.dbo.ATMTXNJNLHIS_LA
TEST in "c:\atmtxnjnl.mix.del.20090708.new" -c -t"," -F1 -Slocalhost -Usa -Pqiu
songze
开始复制...
已复制了 6 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共 531
exec master.dbo.xp_cmdshell 'cd C:\Program Files\Microsoft SQL Server\80\Tools\Binn bcp ebms.dbo.ATMTXNJNLHIS_LATEST in "c:\atmtxnjnl.mix.del.20090708.new" -c -t"," -F1 -Slocalhost -Usa -Pqiusongze'
NULL
c:\WINDOWS\system32>doskey ls=dir
NULL
c:\WINDOWS\system32>doskey l=dir
NULL
c:\WINDOWS\system32>doskey pwd=cd
NULL
c:\WINDOWS\system32>doskey vi=edit
NULL
c:\WINDOWS\system32>cls
文件名、目录名或卷标语法不正确。
NULL
这个已经好了,现在问题是,我想传如参数用变量把20090708换掉,应该如何写?谢谢大哥啊,
CREATE PROCEDURE his_query @start_dt datetime ,@end_dt datetime
AS
set quoted_identifier off
--删除
delete from ATMTXNJNLHIS_LATEST
--//声明临时存放CityID的变量
declare @tmp datetime
set @tmp=@end_dt
while(DATEDIFF(day, @start_dt, @tmp)!=0)
begin
exec master.dbo.xp_cmdshell 'cd "C:\Program Files\Microsoft SQL Server\80\Tools\Binn" && bcp ebms.dbo.ATMTXNJNLHIS_LATEST in "c:\atmtxnjnl.mix.del."+CONVERT(varchar(10),@tmp,112)+".new" -c -t"," -F1 -Slocalhost -Usa -Pqiusongze'
set @tmp=dateadd(day,-1,@end_dt)
end
GO