首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在导出sqlserver 数据库中的表项时,如果设置备份地址解决思路

2012-02-28 
在导出sqlserver 数据库中的表项时,如果设置备份地址使用sql server 2000 需要导出数据库中的某个表项,因

在导出sqlserver 数据库中的表项时,如果设置备份地址
使用sql server 2000 需要导出数据库中的某个表项,因为每周都需要执行一次导出
所以希望能自动执行导出
sqlserver提供的数据导出只能向一个文件里面重复写入信息

今天查了下资料
EXEC master..xp_cmdshell 'bcp mysql.dbo.test1 out c:\temp1.xls -c -q -S"MICROSOF-8B342F" -U"sa" -P"xucheng"'
这串代码表示将表test1导出到c:\temp1.xls

下面这串代码是今天问群里面一朋友给的
declare @filename nvarchar(100) 
set @filename=replace(replace(replace(replace(CONVERT(char(16), getdate(), 120 ),'-',''),'',''),':',''),' ','') +'.xls'
print @filename 

表示按照当前系统时间命名

请问下 把这两串结合起来该怎么写,T-sql代码,能实现每次对表项导出时,以当前系统时间自动命名!

[解决办法]

SQL code
动态表名就行了.declare @filename nvarchar(100)set @filename=replace(replace(replace(replace(CONVERT(char(16), getdate(), 120 ),'-',''),'',''),':',''),' ','') +'.xls' declare @cmd nvarchar(4000);set @cmd = 'bcp mysql.dbo.test1 out c:\' + @filename + ' -c -q -S"MICROSOF-8B342F" -U"sa" -P"xucheng"';exec xp_cmdshell @cmd; 

热点排行