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

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


应用场景

将数据大容量导出到要在其他程序中使用的文本文件时,或从其他程序生成的文本文件大容量导入数据时,建议使用字符格式。

采用字符格式后,所有列均应用字符数据格式。如果要将数据用于其他程序(如电子表格程序),或需要通过其他数据库供应商(如 Oracle)将数据复制到 SQL Server 实例中,则以字符格式存储信息会非常有用。

注意事项

使用字符格式时,请考虑下列事项:

1. 默认情况下,bcp 实用工具使用制表符分隔字符数据字段,并用换行符终止记录。

2. 默认情况下,在大容量导出或导入字符模式数据之前,将执行下列转换:


大容量操作的方向


转换


导出


将数据转换为字符表示形式。 如果进行显式请求,字符列的数据将转换为所请求的代码页。 如果未指定代码页,将通过使用客户端计算机的 OEM 代码页对字符数据进行转换。


导入


必要时将字符数据转换为本机表示形式,并将字符数据从客户端的代码页转换到目标列的代码页。

3. 为避免在转换期间丢失扩展字符,请使用 Unicode 字符格式或指定代码页。

4. 存储在字符格式文件中的所有 sql_variant 数据都是在不包括元数据的情况下进行存储的。 每个数据值都将按照隐式数据转换规则转换为 char 格式。 当数据导入到 sql_variant 列中时,该数据是以 char 格式导入的。 而导入到数据类型不是 sql_variant 的列中时,数据将通过隐式转换从 char 格式转换为其他格式。

5. bcp 实用工具将 money 值作为字符格式数据文件导出时,该数据文件小数点后保留四位数字且不带诸如逗号分隔符之类的数字分组符号。 例如,包含值 1,234,567.123456 的 money 列将以字符串 1234567.1235 的形式大容量导出到数据文件中。

命令选项

您可以使用 bcp、BULK INSERT 或 INSERT ... SELECT * FROM OPENROWSET(BULK...) 将字符格式数据导入到表中。 对于 bcp 命令或 BULK INSERT 语句,您可以在命令行中指定数据格式。 对于 INSERT ... SELECT * FROM OPENROWSET(BULK...) 语句,您必须在格式化文件中指定数据格式。

下列命令行选项支持字符格式:


命令


选项


说明


bcp


-c


使 bcp 实用工具使用字符数据。


BULK INSERT


DATAFILETYPE =‘char


在大容量导入数据时使用字符格式。

若要将字符 (-c) 数据加载为与早期版本的 SQL Server 客户端兼容的格式,请使用 -V 开关。

参考:

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

时间: 2024-10-05 04:13:06

大容量导入和导出的数据格式 -- 字符格式的相关文章

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

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

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

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

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

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

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

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

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

大容量导入和导出数据 -- 介绍 SQL Server 支持从 SQL Server 表大容量导出数据以及将大容量数据导入 SQL Server 表或未分区的视图. 大容量导入和大容量导出对在 SQL Server 和异类数据源之间有效传输数据是非常重要的. "大容量导出"是指将数据从 SQL Server 表复制到数据文件. "大容量导入"是指将数据从数据文件加载到 SQL Server 表. 例如,您可以将数据从 Microsoft Excel 应用程序导出到数

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

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

大容量导入和导出 XML 文档的示例

示例表 若要测试示例 A,必须创建示例表 T. USE tempdb CREATE TABLE T (IntCol int, XmlCol xml); GO 示例数据文件 在运行示例 A 之前,必须先创建一个 UTF-8 编码文件 (C:\SampleFolder\SampleData3.txt),该文件应包含指定了 UTF-8 编码方案的以下示例实例. <?xml version="1.0" encoding="UTF-8"?> <Root>

导入来自早期版本的 SQL Server 的本机格式数据和字符格式数据

导入来自早期版本的 SQL Server 的本机格式数据和字符格式数据 在 SQL Server 2014 中,您可以通过将 bcp 与 -V 开关一起使用,从 SQL Server 2000.SQL Server 2005.SQL Server 2008.SQL Server 2008 R2 或 SQL Server 2012 中导入本机和字符格式数据. -V 开关将使 SQL Server 2014 使用指定的 SQL Server 早期版本中的数据类型,并且数据文件格式与早期版本中的格式相

PHP导入与导出xml格式的Excel

1 简介 1.1 导出 在实际的工作项目中,经常需要将一些重要的数据库中存的数据导出成Excel,比如导出考勤报表,导出财务报表,导出业绩报表,导出销售报表等.CleverCode以前使用了两年的PHPExcel来制作Excel导出数据,但发现用PHPExcel生成Excel实在是太麻烦了,特别是控制单元格的颜色,合并单元格,给单元格设置长度等.这些设计一个Excel通常会需要花费一天的时间.后来CleverCode发现了一个简便的方法PHP导出xml格式的Excel,以前需要一天的工作量,现在