您可以在命令提示符下使用 Microsoft SQL Server 的bcp实用程序从庞大的数据文件中导入数据。
bcp 说明
bcp 实用程序在 Microsoft SQL Server 实例和用户指定格式的数据文件之间批量复制数据。bcp 实用程序可用于将大量新行导入 SQL Server 表或将数据从表中导出到数据文件中。除非与 queryout 选项一起使用,否则该实用程序不需要 Transact-SQL 知识。要将数据导入表中,您必须使用为该表创建的格式文件或了解表的结构以及对其列有效的数据类型
bcp YOUR_TABLE out c:\temp\sample_data.txt -S localhost -T -d YOUR_TABLE
bcp 会询问您有关格式文件的字段和终止符的一些问题,然后会要求您提供名称:
Enter the file storage type of field ID [int-null]:
Enter prefix-length of field ID [1]:
Enter field terminator [none]:
[multiple iterations]
Enter the file storage type of field Fnct_ID [int-null]:
Enter prefix-length of field Fnct_ID [1]:
Enter field terminator [none]: ;
Do you want to save this format information in a file? [Y/n] y
Host filename [bcp.fmt]: C:\temp\huge_data.fmt
Starting copy...
0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 1
bcp 导入
您可以在命令提示符下使用 Microsoft SQL Server 的bcp实用程序从庞大的数据文件中导入数据。
bcp 说明
示例语法
这转化为:
bcp
批量复制程序
YOUR_TABLE
您要将数据导入到的表
-d YOUR_DB
您要连接的数据库的名称
-i INPUT_FILE
大文件的完整路径名和文件名(例如 C:\temp\bigfile.txt)
-S YOUR_SERVER
您要连接的服务器的名称
-F number
导入的第一行
L number
要导入的最后一行
-U YOUR_LOGIN
SQL Server 登录(或者,您可以使用 -T 进行受信任的连接)
-P YOUR_PASSWORD
SQL Server 登录密码
-f FORMAT_FILE
根据您的表定义,您可能需要一个格式文件,该文件定义要向其中导入数据的表的结构以及 INPUT_FILE 中的分隔符。可以在此处和此处找到有关格式文件的更多信息。
您的命令应如下所示:
bcp 格式文件
根据表和输入文件的复杂性,您可能必须创建一个单独的 bcp 格式文件来容纳输入文件、目标表或两者中缺少的列。这可以通过在没有格式文件的情况下导出表来实现:
bcp 会询问您有关格式文件的字段和终止符的一些问题,然后会要求您提供名称:
您现在有一个可用于 bcp 导入的目标表的格式文件。
格式文件看起来有点像这样:
这只是关于如何使用bcp 实用程序从文件导入数据的基本入门。
回答
参考