DBMS data types supported in ArcGIS

When you create a table or add a column to a table in the database, columns are created as a specific data type. Data types are classifications that identify possible values for and operations that can be done on the data, as well as the way the data in that column is stored in the database.

When you access database tables from ArcGIS, you can work with specific data types. When accessing the database table through the Database Connections node in the Catalog tree or through a query layer in ArcMap, ArcGIS filters out any unsupported data types. If you access your database table directly, unsupported data types won't be displayed in the ArcGIS interface and you cannot edit them through ArcGIS. Similarly, when you copy tables containing unsupported data types with ArcGIS, it will only copy the supported data types; when you paste the table to another database or a geodatabase, the unsupported data type columns will not be present.

The following tables list which database data types correspond to which ArcGIS data types for each supported DBMS. The first column lists the data types as they appear in ArcGIS. The second column lists what data type gets created in the database when you create a table or feature class in ArcGIS with the data type shown in the first column. The third column lists other database data types that get mapped to the ArcGIS data type shown in the first column if you create the table outside ArcGIS.

IBM DB2

ArcGIS data types

DB2 data types created

Other DB2 data types that can be viewed

Notes

BLOB

BLOB

DATE

TIMESTAMP

DOUBLE

DECIMAL(p,s)

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

FLOAT

DECIMAL(p,s)

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

GEOMETRY

ST_GEOMETRY

ST_Geometry is a superclass. The actual data subtype created (such as ST_Multilinestring or ST_Point) depends on what type of feature class you create, whether polygon, line, point, multipoint, or multipatch.

GLOBAL ID

CHAR(38)

Only supported in geodatabases.

GUID

CHAR(UUID LEN)

LONG INTEGER

INTEGER

OBJECT ID

CHARACTER(38) when created in enterprise geodatabases

INTEGER with IDENTITY property when created in a database

The ArcGIS type ObjectID is the registered row ID column for the table (or feature class.) Only one may exist per table.

RASTER

BLOB

Only supported in geodatabases.

SHORT INTEGER

SMALLINT

TEXT

VARCHAR

CHAR

DB2 data types supported in ArcGIS

Informix

ArcGIS data types

Informix data types created

Other Informix data types that can be viewed

Notes

BLOB

BLOB

DATE

DATETIME

DOUBLE

DECIMAL(31,8)

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

FLOAT

DECIMAL(31,8)

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

GEOMETRY

ST_GEOMETRY

ST_Geometry is a superclass. The actual data subtype created (such as ST_Multilinestring or ST_Point) depends on what type of feature class you create, whether polygon, line, point, multipoint, or multipatch.

GLOBAL ID

CHAR(38)

Only supported in geodatabases.

GUID

CHAR(UUID LEN)

LONG INTEGER

INTEGER

OBJECT ID

CHARACTER(38) when created in an enterprise geodatabase

SERIAL when created in a database

The ArcGIS type ObjectID is the registered row ID column for the table (or feature class.) Only one may exist per table.

RASTER

BLOB

Only supported in geodatabases.

SHORT INTEGER

SMALLINT

TEXT

VARCHAR

CHAR

Informix data types supported in ArcGIS

Microsoft SQL Server

ArcGIS data types

SQL Server data types created

Other SQL Server data types that can be viewed

Notes

BLOB

VARBINARY(MAX)

BINARY, IMAGE, TIMESTAMP, VARBINARY(n)

DATE

DATETIME2(7)

DATETIME2(n), DATETIME, SMALLDATETIME

DOUBLE

NUMERIC(p,s)

DECIMAL, FLOAT, MONEY, SMALLMONEY

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

FLOAT

NUMERIC(p,s)

REAL

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

GEOMETRY

INT, GEOMETRY, GEOGRAPHY

In an enterprise geodatabase, the SQL Server data type that is created depends on the GEOMETRY_STORAGE parameter of the DBTUNE configuration keyword used when the feature class was created. SDEBINARY = INT; GEOMETRY = a GEOMETRY column; GEOGRAPHY = a GEOGRAPHY column.

In desktop and workgroup geodatabases, the GEOMETRY type is always used.

In a database, you specify whether to use GEOMETRY or GEOGRAPHY when the feature class is created.

GLOBAL ID

UNIQUEIDENTIFIER

Only supported in geodatabases.

GUID

UNIQUEIDENTIFIER

LONG INTEGER

INT

RASTER

INT, ST_RASTER

Raster data types are only supported in geodatabases.

In desktop and workgroup geodatabases, rasters are always created as INT data types.

In enterprise geodatabases, the SQL Server data type that is created depends on the DBTUNE configuration keyword used when the raster column is created. If the keyword's RASTER_STORAGE parameter is set to BINARY, an INT column is created; if set to ST_RASTER, an ST_Raster column is created.

You must separately configure ST_Raster in the enterprise geodatabase if you want to use it. See Installing the ST_Raster type in SQL Server for instructions.

OBJECT ID

INT(4) when created in an enterprise geodatabase

INTEGER with IDENTITY property when created in a database

The ArcGIS type ObjectID is the registered row ID column for the table (or feature class.) Only one may exist per table.

SHORT INTEGER

SMALLINT

BIT, TINYINT

TEXT

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

CHAR, NCHAR

If you create a VARCHAR or VARCHAR(MAX) field in a SQL Server database, it will be mapped to the ArcGIS TEXT data type when viewed in ArcGIS. If you create a TEXT field in a SQL Server database from ArcGIS, either NVARCHAR or NVARCHAR(MAX) is always used.

In an enterprise geodatabase, if the DBTUNE UNICODE_STORAGE parameter is set to FALSE and the text field is 7,999 characters or fewer, VARCHAR is used.

If the DBTUNE UNICODE_STORAGE parameter is set to TRUE and the text field is 3,999 characters, NVARCHAR is used.

If the DBTUNE UNICODE_STORAGE parameter is set to FALSE and the text field is 8,000 characters or more, VARCHAR(MAX) is used.

If the DBTUNE UNICODE_STORAGE parameter is set to TRUE and the text field is 4,000 characters or more, NVARCHAR(MAX) is used.

SQL Server data types supported in ArcGIS

Netezza

ArcGIS data types

Netezza data types created

Other Netezza data types that can be viewed

Notes

BLOB

Not supported

DATE

TIMESTAMP

DATE, TIME, TIME WITH TIME ZONE

DOUBLE

NUMERIC(38,8)

BIGINT (alias int8), NUMERIC(p,s), FLOAT(p), REAL, DOUBLE PRECISION

The precision and scale specified in ArcGIS can affect the resultant data type created in the database.

FLOAT

FLOAT(p)

The precision and scale specified in ArcGIS can affect the resultant data type created in the database.

GEOMETRY

VARCHAR(n)

ST_GEOMETRY

If you use the Netezza Spatial Package, a VARCHAR field is created, and you must name the field (or alias it to) shape for ArcGIS to recognize it as a spatial column.

If you use the Netezza Spatial Esri Package, an ST_GEOMETRY field is created. When an ST_GEOMETRY field is used, you are not required to name the field (or alias it to) shape.

GUID

CHAR(38)

LONG INTEGER

INTEGER (alias int or int4)

OBJECTID

INTEGER (alias int or int4)

SHORT INTEGER

SMALLINT (alias int2)

TEXT

NVARCHAR(50)

CHAR(n), NCHAR(n), VARCHAR(n)

If your database is set for Unicode encoding, NVARCHAR will be created. If your database is not set for Unicode encoding, VARCHAR will be created.

Oracle

ArcGIS data types

Oracle data types created

Other Oracle data types that can be viewed

Notes

BLOB

BLOB

DATE

DATE

DOUBLE

NUMBER(38,8)

NUMBER(p,s)

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

FLOAT

NUMBER(38,8)

NUMBER(p,s)

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

GEOMETRY

ST_GEOMETRY, NUMBER(38), or SDO_GEOMETRY

The Oracle data type that gets created depends on the geometry storage specified when the feature class is created. Compressed binary or well-known binary (geodatabases only) = NUMBER(38); Oracle Spatial = SDO_GEOMETRY; spatial type = ST_GEOMETRY.

ST_Geometry is a superclass. When you create feature classes in ArcGIS for Desktop, ST_Geometry is always used. If you create a spatial column using SQL, the actual data subtype created (such as ST_Multilinestring or ST_Point) depends on what subtype you specify.

To use ST_Geometry in a database, you must install it. See Add the ST_Geometry type to an Oracle database for information.

GLOBAL ID

CHAR or NCHAR (UUID LEN)

Only supported in geodatabases.

The unique identifier field will be created as NCHAR if the configuration keyword with which you specified the table's creation had the parameter UNICODE_STRING set to TRUE.

GUID

CHAR or NCHAR (UUID LEN)

The unique identifier field will be created as NCHAR in a geodatabase if the configuration keyword with which you specified the table's creation had the parameter UNICODE_STRING set to TRUE.

LONG INTEGER

NUMBER(38)

NUMBER(n)

The value n can be in the range of 5 to 10. If created with ArcGIS for Desktop or ArcObjects and precision is set to 0, a NUMBER(38) is created in the database. Otherwise, the precision specified is used.

OBJECT ID

NUMBER(38) when created in an enterprise geodatabase

NUMBER(38) with sequence and trigger when created in a database

The ArcGIS type ObjectID is the registered row ID column for the table (or feature class.) Only one may exist per table.

RASTER

BLOB, LONG RAW, SDO_GEORASTER, or ST_RASTER

Rasters are only supported in geodatabases. Which Oracle data type is created depends on the DBTUNE configuration keyword used when creating the raster catalog, raster dataset, or mosaic dataset.

SHORT INTEGER

NUMBER(5)

NUMBER(n)

The value n can be in the range of 1 to 5. However, short integer columns can only store values that fall in the range -32,768 to 32,767. Even if the precision on the number is 5, you cannot store a number greater than 32,767 or less than -32,768 in a short integer column.

When created with ArcGIS for Desktop, n = 5. This allows you to store short integers that fall within the allowable range.

TEXT

VARCHAR2, CLOB, NVARCHAR2, or NCLOB

A VARCHAR2 field is created if the database is not set to use Unicode encoding.

If you set the text field size larger than 4,000 and the database is set to use Unicode encoding, the Oracle data type will be CLOB.

The field will be created as NVARCHAR2 if the database is set to use Unicode encoding. (This is the default setting for geodatabases in Oracle.)

If you set the text field size larger than 2,000 and the database is set to use Unicode encoding, the Oracle data type will be NCLOB.

Oracle data types supported in ArcGIS

PostgreSQL

ArcGIS data types

PostgreSQL data types created

Other PostgreSQL data types that can be viewed

Notes

BLOB

BYTEA

DATE

TIMESTAMP WITHOUT ZONE

TIMESTAMP

DOUBLE

NUMERIC(p)

BIG SERIAL, DOUBLE PRECISION

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

FLOAT

NUMERIC(p)

The precision and scale specified in ArcGIS can affect the resultant data type created in the database. See ArcGIS field data types for more information.

GEOMETRY

ST_GEOMETRY or GEOMETRY

In a geodatabase, the GEOMETRY_STORAGE setting of the configuration keyword used when creating the feature class determines which data type is created in the database.

ST_Geometry and geometry are superclasses. When creating feature classes in ArcGIS for Desktop, point feature classes created as ST_Geometry use the ST_Point subtype and point feature classes created as PostGIS geometry use the Point subtype for storage. For all other types of feature classes created in ArcGIS for Desktop, the superclass is used. If you create spatial columns using SQL, the actual data subtype created depends on what type of subtype you specify.

To use ST_Geometry in a database, you must install it. See Add the ST_Geometry type to a PostgreSQL database for information.

To use the PostGIS geometry type, you must install PostGIS in your PostgreSQL database cluster, and the database itself must be enabled to use PostGIS. See your PostgreSQL documentation for more information.

GLOBAL ID

VARCHAR(38)

Only supported in geodatabases.

GUID

VARCHAR(38)

LONG INTEGER

INTEGER

SERIAL

OBJECT ID

INTEGER in a geodatabase

SERIAL in a database

The ArcGIS type ObjectID is the registered row ID column for the table (or feature class). Only one may exist per table.

RASTER

BYTEA or ST_RASTER

Rasters are supported only in geodatabases. Which PostgreSQL data type is created depends on the DBTUNE configuration keyword used when creating the raster catalog, raster dataset, or mosaic dataset.

You must separately configure ST_Raster in the geodatabase if you want to use it. See Installing the ST_Raster type in PostgreSQL for instructions.

SHORT INTEGER

SMALLINT

REAL

TEXT

CHARACTER VARYING

CHARACTER, VARCHAR, TEXT

PostgreSQL data types supported in ArcGIS

SQLite

SQLite does not implement data types in the same way that most other database management systems do. SQLite has a few storage classes in which you can store different data types. SQLite allows you to name data types, as in the case of the realdate, geometryblob, and uuidtext types that get created in SQLite when you create a date, geometry, or guid field in ArcGIS. It also searches the literal text of the data type for clues as to what data type the column stores. For example, it looks for int and interprets that as an integer field. Therefore, if you specify a data type of point, SQLite sees it is an integer field because point contains the string int.

ArcGIS assumes that the data type specified for the field in the table definition is the data type to be applied to all values in the field. If the data type cannot be recognized by ArcGIS, you will not be able to access the table from ArcGIS.

ArcGIS data types

SQLite data types created

Other SQLite data types that can be viewed

Notes

BLOB

blob(n)

DATE

realdate

DOUBLE

float64

numeric, double, float, boolean, real

integer, int, int64, int32 (in databases that do not have SpatiaLite installed)

FLOAT

float64

GEOMETRY

geometryblob

GUID

uuidtext

LONG INTEGER

int32(n)

integer, int, int32 (in databases with SpatiaLite)

integer primary key

n >= -2147483648 and n <= 2147483648

OBJECTID

int32

SHORT INTEGER

int16(n)

n >= -32768 and n<= 32768

TEXT

text(n)

char, varchar, blob

Teradata

ArcGIS data types

Teradata data types created

Other Teradata data types that can be viewed

Notes

BLOB

blob

Blob created with Teradata default size.

DATE

timestamp

DOUBLE

decimal(38,8)

decimal(n,m), number(n,m), numeric(n,m)

m > 0

The precision and scale specified in ArcGIS can affect the resultant data type created in the database.

FLOAT

decimal(38,8)

decimal(n,m), number(n,m), numeric(n,m)

m > 0

The precision and scale specified in ArcGIS can affect the resultant data type created in the database.

GEOMETRY

CLOB (ST_Geometry)

This field must be named shape for ArcGIS to recognize it as a spatial column.

GUID

character(38) character set latin

LONG INTEGER

integer

decimal(n,m), number(n,m), numeric(n,m)

n = 5, 6, 7, 8, or 9

m = 0

OBJECTID

integer

SHORT INTEGER

smallint

decimal(n,m), number(n,m), numeric(n,m)

n <= 4

m = 0

TEXT

varchar(50) character set unicode

varchar(n) character set unicode, varchar(n) character set latin, char(n) character set unicode, char(n) character set latin

2/5/2015