ArcGIS 支持的 SQL Server 数据类型

创建表或向数据库中的表添加新列时,列将创建为特定的数据类型。数据类型是用于确定数据值自身以及可对数据执行哪些操作的分类,也表示列中数据在数据库中的存储方式。

从 ArcGIS 访问数据库表时,可以使用特定数据类型。在目录树中通过“数据库连接”节点或在 ArcMap 中通过查询图层访问数据库表时,ArcGIS 会过滤掉任何不支持的数据类型。如果直接访问数据库表,则不支持的数据类型不会显示在 ArcGIS 界面,您也无法通过 ArcGIS 编辑这些数据。同样,复制包含不受 ArcGIS 支持的数据类型的表时,将只复制支持的数据类型;将表粘贴到另一个数据库或地理数据库时,不会存在不支持的数据类型列。

在 ArcGIS 中创建要素类或表时,或者使用 ArcGIS 向现有表或要素类添加列时,可向字段分配 12 种可能的 ArcGIS 数据类型。未与这些类型对应的数据库数据类型不能直接在 ArcGIS 客户端应用程序中使用。

第一列列出了 ArcGIS 数据类型。第二列列出了将在数据库中创建的 SQL Server 数据类型。第三列显示了在 ArcGIS 中查看时哪些其他 SQL Server 数据类型(如果有)会映射到 ArcGIS 数据类型。

ArcGIS 数据类型

创建的 SQL Server 数据类型

可以查看的其他 SQL Server 数据类型

备注

BLOB

VARBINARY(MAX)

BINARY、IMAGE、TIMESTAMP、VARBINARY(n)

DATE

DATETIME2(7)

DATETIME2(n)、DATETIME、SMALLDATETIME

DOUBLE

NUMERIC(p,s)

DECIMAL、FLOAT、MONEY、SMALLMONEY

ArcGIS 中指定的精度和小数位数可以影响在数据库中创建的生成数据类型。有关详细信息,请参阅 ArcGIS 字段数据类型

FLOAT

NUMERIC(p,s)

REAL

ArcGIS 中指定的精度和小数位数可以影响在数据库中创建的生成数据类型。有关详细信息,请参阅 ArcGIS 字段数据类型

GEOMETRY

INT, GEOMETRY, GEOGRAPHY

在企业级地理数据集中,创建的 SQL Server 数据类型取决于创建要素类时使用的 DBTUNE 配置关键字的 GEOMETRY_STORAGE 参数。SDEBINARY = INT;GEOMETRY = GEOMETRY 列;GEOGRAPHY = GEOGRAPHY 列。

在桌面和工作组级地理数据库中,通常使用 GEOMETRY 类型。

在数据库中,指定创建要素类时使用 GEOMETRY 还是 GEOGRAPHY。

GLOBAL ID

UNIQUEIDENTIFIER

仅地理数据库支持。

GUID

UNIQUEIDENTIFIER

LONG INTEGER

INT

RASTER

INT, ST_RASTER

仅地理数据库支持栅格数据类型。

在桌面和工作组级地理数据库中,通常作为 INT 数据类型来创建栅格。

仅企业级地理数据库中,创建的 SQL Server 数据类型取决于创建栅格列时使用的 DBTUNE 配置关键字。如果关键字的 RASTER_STORAGE 参数设置为 BINARY,则会创建 INT 列;如果该参数设置为 ST_RASTER,则会创建 ST_Raster 列。

如果要使用 ST_Raster,必须先在企业级地理数据库中对其进行单独配置。有关说明,请参阅在 SQL Server 中安装 ST_Raster 类型

OBJECT ID

INT(4) when created in an enterprise geodatabase

INTEGER with IDENTITY property when created in a database

ArcGIS 类型 ObjectID 是表(或要素类)的注册行 ID 列。每个表只能存在一个 ObjectID。

SHORT INTEGER

SMALLINT

BIT、TINYINT

TEXT

VARCHAR, NVARCHAR, VARCHAR(MAX), NVARCHAR(MAX)

CHAR、NCHAR

如果在 SQL Server 数据库中创建 VARCHAR 或 VARCHAR(MAX) 字段,那么在 ArcGIS 中查看时,该字段将映射至 ArcGIS TEXT 数据类型。如果在 ArcGIS 中的 SQL Server 数据库中创建了一个 TEXT 字段,则始终会使用 NVARCHAR 或 NVARCHAR(MAX)。

在企业级地理数据库中,如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 7,999 个字符或更少,则使用 VARCHAR。

如果 DBTUNE UNICODE_STORAGE 参数设置为 TRUE,并且文本字段是 3,999 个字符,则使用 NVARCHAR。

如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 8,000 个字符或更多,则使用 VARCHAR(MAX)。

如果 DBTUNE UNICODE_STORAGE 参数设置为 TRUE,并且文本字段是 4,000 个字符或更多,则使用 NVARCHAR(MAX)。

ArcGIS 支持的 SQL Server 数据类型
5/10/2014