定时输出数据到文本文件中,如何设定每次的文件名(由时间形成)?

我要将一批数据定时输出到外部文本文件中,
用DTS可以实现,但只能用固定文件名,
如何实现每次的文件名称动态生成(用时间)?

如果不用DTS,改用T_SQL命令,
又该如何实现,SQL语句怎么写?

或者还有其他的方法么?
请高手指点!
3Q!^_^
---------------------------------------------------------------

用存储过程 @table是表名,@filename是保存的文件名,@Server是服务器名称,@user是数据库用户名,@pass是数据库用户密码。
@FileName 根据时间动态生成就是了。

CREATE procedure TxtOut
@table VarChar(20),
@Filename Varchar(40),
@Server Varchar(20),
@User Varchar(10),
@Pass Varchar(10)
As
Declare @s1 as VarChar(100);
set @s1='bcp '+@table+' out '+@FileName+' -c -q -S"'+@Server+'" -U"'+@User+'" -P"'+@Pass+'"';
print @S1;
EXEC master..xp_cmdshell @s1;
GO

此外我也知道在DTS Package保存时,
选择存为VB的模块,
然后可以在VB中调用,动态形成文件名就可以了,
唉,刚刚搞定。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus