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

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


应用场景


当必须将信息从一个 Microsoft SQL Server 复制到另一个时,Unicode 本机格式将非常有用。

为非字符数据使用本机格式可以节省时间,并消除与字符格式之间不必要的数据类型转换。 在使用不同代码页的服务器之间大容量传输数据时,为所有字符数据使用 Unicode 字符格式可以防止丢失任何扩展字符。 可以通过任何大容量导入方法读取 Unicode 本机格式的数据文件。

通过使用包含扩展字符或 DBCS 字符的数据文件在 SQL Server 的多个实例之间大容量传输数据时,建议使用 Unicode 本机格式。 对于非字符数据,Unicode 本机格式使用本机(数据库)数据类型。 对于字符数据(如 char、nchar、varchar、nvarchar、text、varchar(max)、nvarchar(max) 和 ntext),Unicode 本机格式使用 Unicode 字符数据格式。

在 Unicode 本机格式数据文件中存储为 SQLVARIANT 的 sql_variant 数据的运算方式与在本机格式数据文件中的运算方式相同,只是 char 和 varchar 值需转换为 nchar 和 nvarchar,这使得受影响列的存储量加倍。 这些值的原始元数据被保留,当大容量导入到表列时,这些值将转换回其原始的 char 和 varchar 数据类型。

Unicode 本机格式的命令选项


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

下列选项支持 Unicode 本机格式:


命令


选项


说明


bcp


-N


使 bcp 实用工具使用 Unicode 本机格式,将为所有非字符数据使用本机(数据库)数据类型,为所有字符(char、nchar、varchar、nvarchar、text 和 ntext)数据使用 Unicode 字符数据格式。


BULK INSERT


DATAFILETYPE =‘widenative


大容量导入数据时使用 Unicode 本机格式。


参考:

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

时间: 2024-08-24 23:00:41

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

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

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

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

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

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

大容量导入或导出的数据格式 -- 本机格式 应用场景 当使用不包含任何扩展/双字节字符集 (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>

oracle 字符集导入、导出 、转换

导入导出及转换 导入导出是我们常用的一个数据迁移及转化工具,因其导出文件具有平台无关性,所以在跨平台迁移中,最为常用. 在导出操作时,非常重要的是客户端的字符集设置,也就是客户端的NLS_LANG设置. NLS_LANG参数由以下部分组成: NLS_LANG=_. NLS_LANG各部分含义如下: LANGUAGE指定: -Oracle消息使用的语言 -日期中月份和日显示 TERRITORY指定 -货币和数字格式 -地区和计算星期及日期的习惯 CHARACTERSET: -控制客户端应用程序使用

SQL Server2012使用导入和导出向导时,用sql语句作为数据源,出现数据源类型会变成202或者203

用MS SqlServer2012进行数据导出时,使用的查询语句导出,但是出现了错误: "发现 xx个未知的列类型转换您只能保存此包" 点击列查看详细错误信息时,可以看到: [源信息]源位置: 192.168.1.97源提供程序: SQLNCLI11表: [查询]列: ItemSize列类型: 203SSIS 类型: (类型未知...)映射文件(到 SSIS 类型): C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Mapping