大容量导入和导出数据 -- 介绍

大容量导入和导出数据 -- 介绍


SQL Server 支持从 SQL Server 表大容量导出数据以及将大容量数据导入 SQL Server 表或未分区的视图。 大容量导入和大容量导出对在 SQL Server 和异类数据源之间有效传输数据是非常重要的。

“大容量导出”是指将数据从 SQL Server 表复制到数据文件。

“大容量导入”是指将数据从数据文件加载到 SQL Server 表。

例如,您可以将数据从 Microsoft Excel 应用程序导出到数据文件,然后将这些数据大容量导入到 SQL Server 表中。

大容量导入和导出数据的方法


可以使用下列基本方法:


方法


说明


导入数据


导出数据


bcp 实用工具


大容量导出数据和大容量导入数据并生成格式化文件的命令行实用工具 (Bcp.exe)。


支持


支持


BULK INSERT 语句


将数据直接从数据文件导入数据库表或未分区视图的 Transact-SQL 语句。


支持


不支持


INSERT ... SELECT * FROM OPENROWSET(BULK...) 语句


通过在 INSERT 语句中指定 OPENROWSET(BULK…) 函数来选择数据,从而使用 OPENROWSET 大容量行集提供程序将数据大容量导入 SQL Server 表的 Transact-SQL 语句。


支持


不支持


格式化文件


bcp 实用工具、BULK INSERT 和 INSERT ... SELECT * FROM OPENROWSET(BULK...) 都支持使用专门的“格式化文件”来存储数据文件中每个字段的格式信息。 格式化文件还可以包含相应的 SQL Server 表的有关信息。 格式化文件可以用于提供从 SQL Server 实例大容量导出数据和向其中大容量导入数据时所需的所有格式信息。

格式化文件提供了一种解释导入期间数据文件中数据的格式以及设置导出期间数据文件中数据格式的灵活方式。 这种灵活性使得解释数据时无需编写专用代码,也无需为满足 SQL Server 或外部应用程序的特殊需要而重新设置数据的格式。 例如,如果将要加载的数据大容量导出到某个需要逗号分隔值的应用程序,则可以使用格式化文件将逗号作为字段终止符插入导出的数据中。

SQL Server 支持两种格式化文件:XML 格式化文件和非 XML 格式化文件。

bcp 实用工具是唯一能够生成格式化文件的工具。

准备用于SQL Server大容量导出或导入的数据要求

对于SQL Server大容量导出或导入的数据在格式上是有要求的,详细可参见MSDN的具体说明:

https://msdn.microsoft.com/zh-cn/library/ms188609.aspx

时间: 2024-10-10 02:28:54

大容量导入和导出数据 -- 介绍的相关文章

大容量导入和导出数据 -- bcp实用工具

大容量导入和导出数据 -- bcp实用工具 作用 bcp 实用工具可以在SQL Server实例和用户指定格式的数据文件间大容量复制数据. 使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或将表数据导出到数据文件. 除非与 queryout 选项一起使用,否则使用该实用工具不需要了解 Transact-SQL 知识. 若要将数据导入表中,必须使用为该表创建的格式文件,或者必须了解表的结构以及对于该表中的列有效的数据类型. 注意: 如果使用 bcp 备份数据,请创建一个格式化文

大容量导入和导出数据 -- 格式化文件生成

大容量导入和导出数据 -- 格式化文件生成 SQL Server 支持两种类型的格式化文件:非 XML 格式和 XML 格式.非 XML 格式是 SQL Server 早期版本支持的原始格式. 通常,XML 与非 XML 格式化文件可以互换. 但是,建议您为新的格式化文件使用 XML 语法,因为与非 XML 格式化文件相比,格式化文件具有多项优点. 格式化文件基于指定的数据类型选项(-n.-c.-w 或 -N)以及表或视图分隔符. 创建非XML格式化文件 若要使用 bcp 命令创建格式化文件,请

大容量导入或导出的数据格式 -- Unicode字符格式

大容量导入或导出的数据格式 -- Unicode字符格式 应用场景 使用包含扩展/DBCS 字符的数据文件在多个 SQL Server 实例之间大容量传输数据时,建议使用 Unicode 字符格式. 从服务器导出数据时,Unicode 字符数据格式允许使用与执行该操作的客户端不同的代码页. 在这种情况下,使用 Unicode 字符格式有下列优点: 1. 如果源数据和目标数据的类型为 Unicode,则使用 Unicode 字符格式可以保留所有的字符数据. 2. 如果源数据和目标数据的类型不为 U

大容量导入或导出的数据格式 -- Unicode本机格式

大容量导入或导出的数据格式 -- Unicode本机格式 应用场景 当必须将信息从一个 Microsoft SQL Server 复制到另一个时,Unicode 本机格式将非常有用. 为非字符数据使用本机格式可以节省时间,并消除与字符格式之间不必要的数据类型转换. 在使用不同代码页的服务器之间大容量传输数据时,为所有字符数据使用 Unicode 字符格式可以防止丢失任何扩展字符. 可以通过任何大容量导入方法读取 Unicode 本机格式的数据文件. 通过使用包含扩展字符或 DBCS 字符的数据文

大容量导入和导出的数据格式 -- 字符格式

大容量导入和导出的数据格式 -- 字符格式 应用场景 将数据大容量导出到要在其他程序中使用的文本文件时,或从其他程序生成的文本文件大容量导入数据时,建议使用字符格式. 采用字符格式后,所有列均应用字符数据格式.如果要将数据用于其他程序(如电子表格程序),或需要通过其他数据库供应商(如 Oracle)将数据复制到 SQL Server 实例中,则以字符格式存储信息会非常有用. 注意事项 使用字符格式时,请考虑下列事项: 1. 默认情况下,bcp 实用工具使用制表符分隔字符数据字段,并用换行符终止记

大容量导入或导出的数据格式 -- 本机格式

大容量导入或导出的数据格式 -- 本机格式 应用场景 当使用不包含任何扩展/双字节字符集 (DBCS) 字符的数据文件在多个 SQL Server 实例之间大容量传输数据时,建议使用本机格式. 本机格式保留数据库的本机数据类型. 本机格式适用于 SQL Server 表之间的高速数据传输. 如果使用格式化文件,则源表和目标表不必相同. 数据传输分为两个步骤: 1. 将源表中的数据大容量导出到数据文件中 2. 将数据文件中的数据大容量导入到目标表中 在相同的表之间使用本机格式避免了在各数据类型与字

Oracle Imp and Exp (导入和导出) 数据 工具使用

Oracle 提供两个工具imp.exe 和exp.exe分别用于导入和导出数据.这两个工具位于Oracle_home/bin目录下. 导入数据exp 1 将数据库ATSTestDB完全导出,用户名system 密码123456 导出到c:\export.dmp中 exp system/[email protected] file=c:\export.dmp full=y 其中ATSTestDB为数据库名称,system为该数据库里的账户,123456为其密码. 2 将数据库中system用户与

DOS 选择跳转实现、dos + bcp 双击导入和导出数据

DOS 选择跳转实现.dos + bcp 双击导入和导出数据 option.bat @echo off :Start2 cls goto Start :Start title Frequently Used Websites echo Please select a website from the list echo with the corresponding key echo -------------------------------------- echo [1] Google ec

mysql命令行导入和导出数据

MySQL中导出CSV格式数据的SQL语句样本如下: Sql代码   select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n'; [sql] view plain copy print? select * from test_info into outf