如何将表转储到SQL Server中的文本文件?在sql Server 2005中

时间:2009-05-06 13:58:45

标签: sql-server export

如何将表格导出到文本文件?

我需要获取已存在的表的INSERT脚本(结构和数据)。

5 个答案:

答案 0 :(得分:3)

在SQL2k中,尝试阅读有关批量复制的内容,该命令应为 bcp 我认为

来自MS帮助文件的示例有类似......

的内容

将数据从表格导出到文本文件

bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout Authors.txt -c -Sservername -Usa -Ppassword

将数据从文本文件导入表:

将数据从Newpubs.dat批量复制到publishers2的命令是:

bcp pubs..publishers2 in newpubs.dat -c -t , -r \n -Sservername -Usa -Ppassword

或者,您可以使用查询工具(如SQL查询分析器)中的BULK INSERT语句批量复制数据:

BULK INSERT pubs..publishers2 FROM 'c:\newpubs.dat'
WITH (
   DATAFILETYPE = 'char',
   FIELDTERMINATOR = ',',
   ROWTERMINATOR = '\n'
)

加特

答案 1 :(得分:3)

在SQL Server 2005 Management Studio中,您可以使用导入/导出向导(不确定您是否特别需要脚本,或者只是将结构/数据导出到文件的方法,但是这个建议可以在没有实际脚本):

  • 右键单击包含表格的数据库
  • 选择任务 - >导出数据
  • 选择“数据源”屏幕:(在欢迎屏幕之后)保留默认值,单击“下一步”
  • 为目标字段选择目标:“平面文件目标”。然后根据需要填写文件名/路径和其他选项,单击“下一步”
  • 选择复制数据...,单击下一步
  • 选择要导出的表格,然后单击“下一步”
  • 在“保存并执行包”屏幕上,您可以立即选中“立即执行”,或者如果您希望将生成的“脚本”保存为SSIS包,也可以选择该选项。单击“下一步”,然后单击“完成”,以执行导出

  • 您生成的文件将包含该表的内容。如果您需要将此数据“插入”到另一个数据库中,则可以使用向导的“导入数据”选项将数据从文本文件导入到另一个数据库/表中。

答案 2 :(得分:1)

答案 3 :(得分:0)

您可以通过从information_schema中获取列信息来以编程方式构建 INSERT 语句,其中每行数据描述一列:

SELECT   table_name, 
         ordinal_position, 
         column_name, 
         data_type, 
         is_nullable, 
         character_maximum_length 
FROM     information_schema.columns 
WHERE    table_name LIKE '%TableName%' 
ORDER BY ordinal_position 

对于导出数据,BCP是工具,BOL有几个不错的例子:

bcp AdventureWorks.Sales.Currency out Currency.dat -T -c

答案 4 :(得分:-1)

您可以运行this one

之类的插入脚本生成器

或像link

这样的桌面工具