ArcGIS、ArcSDE 和 SQL Server 数据类型比较

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

要将某种类型的数据导入到另一种数据类型的列中,需要了解 ArcSDE 和数据库管理系统 (DBMS) 之间的等效数据类型,因为这会影响到数据内容。同样,在 ArcGIS 中创建新数据集时,了解 ArcGIS 和 DBMS 之间的等效数据类型也十分有用。

在 ArcGIS 中创建要素类或表时,可为字段分配的数据类型只有 11 种。这表示某些数据类型仅允许在 ArcGIS 外部创建。

ArcSDE 数据类型

SQL Server 数据类型

ArcGIS 数据类型

SE_STRING_TYPE

CHAR or VARCHAR

TEXT

用于非 Unicode 文本,多达 8000 个字符

SE_NSTRING_TYPE

NCHAR or NVARCHAR

TEXT

用于 Unicode 文本,多达 4000 个字符

SE_INT16_TYPE (SE_SMALLINT_TYPE)

SMALLINT

SHORT INTEGER

SE_INT32_TYPE (SE_INTEGER_TYPE)

INTEGER

LONG INTEGER

SE_INT64_TYPE

BIGINT or NUMERIC (precision < 19, scale = 0)

na

要以此数据类型创建列,服务器配置参数 INT64TYPES 必须为 TRUE。

SE_FLOAT32_TYPE (SE_FLOAT_TYPE)

NUMERIC (precision < 7, scale > 0)

na

SE_FLOAT64_TYPE (SE_DOUBLE_TYPE)

NUMERIC (precision > = 7, scale > 0)

na

SE_DATE_TYPE

DATETIME

DATE

SE_UUID_TYPE

UNIQUEIDENTIFIER

GUID

SE_BLOB_TYPE

VARBINARY(MAX)

BLOB

SE_SHAPE_TYPE

INTEGER, GEOMETRY, or GEOGRAPHY

GEOMETRY

SQL Server 数据类型取决于为图层指定的几何存储。压缩二进制或熟知二进制 = NUMBER(38);Microsoft SQL Server Geometry = GEOMETRY;Microsoft SQL Server Geography = GEOGRAHY。

SE_XML_TYPE

SDE_XML or XML

na

XML 列不在 ArcGIS Desktop 中显示。

SE_RASTER_TYPE

VARBINARY(MAX) or ST_RASTER

RASTER

SQL Server 数据类型取决于在 DBTUNE 表中指定的栅格存储。

SE_STRING_TYPE

INT(4)

OBJECTID

REAL

FLOAT

DOUBLE

DOUBLE

如果在 ArcGIS 中将比例设置成大于 0 的值,SQL Server 数据类型将为 NUMERIC。

SE_CLOB_TYPE

VARCHAR(MAX)

TEXT

用于 8000 个或更多字符的非 Unicode 文本

SE_NCLOB_TYPE

NVARCHAR(MAX)

TEXT

用于 4,000 个或更多字符的 Unicode 文本

SQL Server 数据类型比较

3/7/2012