ArcGIS 支持的 SQL Server 数据类型
创建表或向数据库中的表添加新列时,列将创建为特定的数据类型。数据类型是用于确定数据值自身以及可对数据执行哪些操作的分类,也表示列中数据在数据库中的存储方式。
从 ArcGIS 访问数据库表时,可以使用特定数据类型。在目录树中通过“数据库连接”节点或在 ArcMap 中通过查询图层访问数据库表时,ArcGIS 会过滤掉任何不支持的数据类型。如果直接访问数据库表,则不支持的数据类型不会显示在 ArcGIS 界面,您也无法通过 ArcGIS 编辑这些数据。同样,复制包含不受 ArcGIS 支持的数据类型的表时,将只复制支持的数据类型;将表粘贴到另一个数据库或地理数据库时,不会存在不支持的数据类型列。
在 ArcGIS 中创建要素类或表时,或者使用 ArcGIS 向现有表或要素类添加列时,可向字段分配 11 种可能的数据类型。未与这些类型对应的数据库数据类型不能直接在 ArcGIS 客户端应用程序中使用。
第一列列出了 ArcGIS 中可用的数据类型。第二列列出了将在数据库中创建的 SQL Server 数据类型。第三列显示了在 ArcGIS 中查看时哪些其他 SQL Server 数据类型(如果有)会映射到 ArcGIS 数据类型。
ArcGIS 数据类型 |
创建的 SQL Server 数据类型 | 可以查看的其他 SQL Server 数据类型 |
备注 |
---|---|---|---|
TEXT |
VARCHAR NVARCHAR VARCHAR(MAX) NVARCHAR(MAX) | CHAR NCHAR NTEXT | 如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 7,999 个字符或更少,则使用 VARCHAR。 如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 3,999 个字符,则使用 NVARCHAR。 如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 8,000 个字符或更多,则使用 VARCHAR(MAX)。 如果 DBTUNE UNICODE_STORAGE 参数设置为 FALSE,并且文本字段是 4,000 个字符或更多,则使用 NVARCHAR(MAX)。 |
SHORT INTEGER |
SMALLINT | BIT TINYINT | |
LONG INTEGER |
INT | ||
DATE |
DATETIME2(7) | DATETIME2(n) DATETIME SMALLDATETIME | |
GUID |
UNIQUEIDENTIFIER | ||
BLOB |
VARBINARY(MAX) | BINARY IMAGE TIMESTAMP VARBINARY(n) | |
GEOMETRY |
INT GEOMETRY GEOGRAPHY |
SQL Server 数据类型,取决于创建字段时使用的 DBTUNE GEOMETRY_STORAGE 参数。SDEBINARY = INT;GEOMETRY = GEOMETRY 列;GEOGRAPHY = GEOGRAPHY 列。 | |
RASTER |
INT ST_RASTER |
SQL Server 数据类型,取决于创建栅格列时设置的 DBTUNE RASTER_STORAGE 参数。BINARY = INT 列;ST_RASTER = ST_Raster 列。 | |
OBJECTID |
INT(4) | ArcGIS 类型对象 ID 是表(或要素类)的注册行 ID 列。每个表只能存在一个。对于在 ArcGIS 外部创建的表,只有在注册到地理数据库之后才会将列转换为对象 ID。 | |
FLOAT |
NUMERIC(p,s) | REAL | |
DOUBLE |
NUMERIC(p,s) | DECIMAL FLOAT MONEY SMALLMONEY |