要将一个数据库的所有表格使用批通信程序取出(BCP OUT),有何较快的方法?
假设您的SQLServer 计算机名称为technology1,sa密码空的,如果要将pubs使用批通信程序取出,可以参照下列步骤:
1)在Query Analyzer中执行下列指令:select 'bcp pubs..'+name+' out'+' d:\test\'+name+'.txt -c -Stechnology1 -Usa -P' from sysobjects where type = 'U'2)结果如下
----------------------------------------------------------------------------
bcp pubs..authors out d:\test\authors.txt -c -Stechnology1 -Usa -P
bcp pubs..publishers out d:\test\publishers.txt -c -Stechnology1 -Usa -P
bcp pubs..titles out d:\test\titles.txt -c -Stechnology1 -Usa -P
bcp pubs..titleauthor out d:\test\titleauthor.txt -c -Stechnology1 -Usa -P
bcp pubs..stores out d:\test\stores.txt -c -Stechnology1 -Usa -P
bcp pubs..sales out d:\test\sales.txt -c -Stechnology1 -Usa -P
bcp pubs..roysched out d:\test\roysched.txt -c -Stechnology1 -Usa -P
bcp pubs..discounts out d:\test\discounts.txt -c -Stechnology1 -Usa -P
bcp pubs..jobs out d:\test\jobs.txt -c -Stechnology1 -Usa -P
bcp pubs..pub_info out d:\test\pub_info.txt -c -Stechnology1 -Usa -P
bcp pubs..employee out d:\test\employee.txt -c -Stechnology1 -Usa -P
(11 row(s) affected)3)将结果储存成文字文件,文件名为bat,将第一行的------与最后一行(11 row(s) affected)去掉。
4)在DOS下创建d:\test的子目录,并执行上述的bat文件,该bat文件将Pubs数据库中的每个表格存放到每个txt文件中