2

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

我需要获取现有表的 INSERT 脚本(结构和数据)。

4

5 回答 5

4

在 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'
)

加思

于 2009-05-06T14:11:59.600 回答
3

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

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

  • 您生成的文件将包含表格的内容。如果您随后需要将此数据“插入”到不同的数据库中,您可以使用向导的“导入数据”选项将数据从文本文件导入到其他数据库/表中。

于 2009-05-06T16:04:36.693 回答
1

尝试这个:

http://vyaskn.tripod.com/code.htm#inserts

于 2009-05-06T14:08:53.913 回答
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

于 2009-05-06T15:11:16.213 回答
-1

您可以像这样运行插入脚本生成器

或此链接之类的桌面工具

于 2009-05-06T14:09:19.903 回答