DB2空间

司机简称

DB2

生成依赖项

ODBC库

这个驱动程序使用GDAL中的默认ODBC支持实现对ibmdb2forlinux、Unix和Windows(DB2 LUW)和ibmdb2forz/OS关系数据库中空间表的访问支持。

有关DB2空间特性的文档可以在 DB2 for z/OSDB2 LUW

此驱动程序当前仅在Windows环境中受支持。

驱动程序功能

Supports Create()

This driver supports the GDALDriver::Create() operation

Supports Georeferencing

This driver supports georeferencing

连接到数据库

要连接到一个DB2数据源,请使用一个指定数据库名称的连接字符串,并根据需要使用其他参数。连接字符串必须以' 二氧化氯: '.
您可以指定已注册的DSN,也可以使用指定主机、端口和协议的参数。
DB2ODBC:database=dbname;DSN=datasourcename

DB2ODBC:database=dbname;DRIVER={IBM DB2 ODBC DRIVER};Hostname=hostipaddr;PROTOCOL=TCPIP;port=db2port;UID=myuserid;PWD=mypw

以下自定义参数也可以在以下语法中使用:

  • Tables=schema1.table1(geometry column1),schema2.table2(geometry column2) :通过使用此参数,可以指定要由驱动程序使用的层的子集。如果未设置此参数,则从DB2GSE.ST_GEOMETRY_COLUMNS元数据视图中检索层。可以省略指定语法的模式和几何列部分。

连接字符串中的参数名不区分大小写。

指定 数据库 驱动程序需要参数才能选择正确的数据库。

默认情况下,DB2驱动程序将只查找在 DB2GSE.ST_GEOMETRY_COLUMNS 元数据表。

SQL语句

默认情况下,当对OGRDataSource使用ExecuteSQL()调用或对ogr2ogr使用-SQL命令选项时,DB2驱动程序将SQL语句直接传递给DB2,而不是在内部对它们求值。属性查询表达式也直接传递到DB2。还可以请求OGR DB2驱动程序使用 OGR SQL 发动机,通过 “OGRSQL” ExecuteSQL()方法的字符串,作为SQL方言的名称。

OGR中的DB2驱动程序支持普通SQL意义上的OGRLayer::StartTransaction()、OGRLayer::CommitTransaction()和OGRLayer::RollbackTransaction()调用。

创建问题

此驱动程序不支持创建新数据库。使用DB2命令行或IBM Data Studio之类的工具创建数据库。它确实允许在现有数据库中创建新层。

图层创建选项

  • OVERWRITE :这可能是“是”,以强制在创建请求的层之前销毁所需名称的现有层。

  • LAUNDER :这可能是“YES”,以强制在此层上创建的新字段将其字段名“清洗”为与DB2更兼容的形式。这将转换为小写,并将一些特殊字符,如“-”和“#”转换为“#”。如果“否”,则保留准确的名称。默认值为“是”。如果启用,表(层)名称也将被清除。

  • PRECISION :如果可以使用数字(宽度、精度)或字符(宽度)类型,则此选项可能为“是”,以强制在此层上创建的新字段尝试表示宽度和精度信息。如果“否”,则将使用float、int和varchar类型。默认为“是”。

  • DIM={{2,3}} :控制层的尺寸。默认为2。

  • GEOM_NAME :在新表中设置几何列的名称。如果省略,则默认为 ogr_geometry .

  • SCHEMA :设置新表的架构名称。默认模式是用于连接到数据库的用户id的模式

  • SRID :显式设置新表的空间引用id。相应的条目应已添加到spatial ref U sys元数据表中。如果未设置此参数,则SRID派生自源层SRS的权限代码。

空间索引创建

默认情况下,在创建层期间,DB2驱动程序不会向表添加空间索引。应该使用DB2 CREATE INDEX命令创建空间索引。

实例

从OGR数据源创建层

ogr2ogr -overwrite  DB2ODBC:database=sample;DSN=sampDSN zipcodes.shp

连接到层并转储内容

ogrinfo -al DB2ODBC:database=sample;DSN=sampDSN;tables=zipcodes