作家指令
下面列出了由Ingres Spatial编写器处理的指令。显示的后缀以当前前缀< WriterKeyword >
_在映射文件中。默认情况下,< WriterKeyword >
对于安格尔的空间作家来说COM.ACTIAN.INGRES.INGRES
.
数据集/数据库,主机,端口,用户名,密码
这些指令的操作方式与它们对Ingres Spatial读取器的操作方式相同。
DEF
每个Ingres表必须先定义,然后才能写入。Ingres定义语句的一般形式是:
INGRES_DEF <表名> \ Ingres_type < Ingres_type > \ [Ingres_mode(插入|更新|删除| inherit_from_writer)) \ [Ingres_spatial_column <列>]\ [Ingres_drop_table(是的|不)]\ [Ingres_truncate_table(是的|不)]\ [Ingres_create_with_oids(是的|不]\ [Ingres_create_with_gist_index(是的|不)]\ [Ingres_vacuum_analyze(是的|不)]\[<字段名>< fieldType >] [, < indexType >] *
表定义允许对将要创建的表进行控制。如果表已经存在,则ingres_参数
会被忽略,也不需要被给予。如果列出了字段和类型,则它们必须与数据库中的字段和类型匹配。
如果表不存在,则首先使用字段名和类型创建表。在任何情况下,如果< fieldType >
,它可以是目标数据库支持的任何字段类型。
必需的/可选
要求
配置参数
定义行上的配置参数如下表所示:
参数 |
内容 |
的表 |
要写入的表的名称。如果具有指定名称的表存在,则如果 |
ingres_type | 所创建的表将受其约束的几何实体的类型。该类型的有效值如下所示: ingres_point ingres_multipoint ingres_linestring ingres_multilinestring ingres_polygon ingres_multipolygon ingres_geometrycollection ingres_none ingres_geometry(允许任何东西) 如果将集合写入限制为单个几何形状的表,则该集合将自动分解以进行写入。相反,如果将单个几何图形写入约束为某一集合类型的表中,则它将自动包装在一个集合中。 |
ingres_mode | 根据发送到数据库的SQL语句的类型,特性类型的默认操作模式。有效的值 默认值: |
ingres_spatial_column |
它指定在创建新的Ingres表时将保存空间数据的要创建的列的名称。 默认值:形状 |
ingres_drop_table | 这指定如果表以这个名称存在,那么在向它写入任何特性之前,应该删除它并重新创建它。 |
ingres_truncate_表 | 这指定如果表以这个名称存在,那么在向它写入任何特性之前,它应该被截断。 |
ingres_create_with_oids | 创建包含系统OID列作为唯一标识符的表。如果设置为no,则不创建OID列。 默认值:是的 |
ingres_create_rtree_index | 在表的几何列上创建一个RTREE索引(只要有一个)。为了提高空间查询性能,需要对几何列进行索引。 默认值:是的 |
ingres_table_page_size | 使用此选项可选择使用FME创建的表的页面大小。 默认值:8192 |
ingres_inline_size | 如果Ingres 10.2或更新版本,您可以使用此选项来设置要内联多少LOB或Geometry,而不是将其存储在扩展表中。 默认值:2048 有效范围:0 - 32000 |
ingres_data_compression | 配置使用FME创建的新表以使用数据压缩。 默认值:是的 |
字段名 | 要写入的字段的名称。字段名的有效值包括任何不包含sql攻击字符且长度小于256个字符的字符串。 |
fieldType | 表中列的类型。字段类型的有效值如下所示: 保龄球 char(宽度) nchar(宽度) varchar(宽度) nvarchar(宽度) 用longvarchar longnvarchar int2 int4 int8 字节(宽度) varbyte(宽度) longbyte 身份 float4 float8 钱 号(宽度、小数) 日期 时间 timetz 时间戳 timestamptz |
indexType | 要在给定字段上创建的索引类型。索引类型的有效值如下所示: BTREE(默认属性索引) RTREE 哈希 ISAM |
START_TRANSACTION
该语句告诉Ingres Spatial writer模块何时开始实际向数据库中写入特性。
在跳过特征的特征数量之前,Ingres Spatial writer不会编写任何特征,然后它开始编写以下特征。通常,指定的值是零—只有在数据加载操作在失败中途恢复时才指定非零值。
必需的/可选
可选
映射文件的语法
INGRES_OUT_START_TRANSACTION 0
工作台参数
起动特性
TRANSACTION_INTERVAL
该指令决定了FME在将事务提交到数据库之前将在每个事务中放置的特性的数量。
如果没有指定INGRES_TRANSACTION_INTERVAL语句,那么将使用1000值作为事务间隔。
必需的/可选
可选
映射文件的语法
INGRES_OUT_TRANSACTION_INTERVAL 2000
工作台参数:每个事务特性
BATCH_INSERTS
该语句告诉Ingres Spatial写入器模块使用批处理插入将数据插入到数据库中,批处理插入会在将数据发送到服务器之前批量处理。在提交时发送批处理。每一次都发出一个提交INGRES_TRANSACTION_INTERVAL特性。
必需的/可选
可选
映射文件的语法
INGRES_BATCH_INSERTS是的
工作台参数
批量插入
WRITER_MODE
该指令告知Ingres Spatial写入器默认情况下将执行哪些SQL操作。
该操作可以设置为插入
,更新,或删除
.此操作的默认写入器级别值可以在特性类型或表级别被覆盖。
对应的特征类型DEF
参数名被调用INGRES_MODE
.它具有与写入器级别模式相同的有效选项和值INHERIT_FROM_WRITER
(这会导致写入器级别模式被特性类型继承,作为该表中包含的特性的默认模式)。
该操作也可以使用fme_db_operation属性。
注意:请注意,当写入器模式设置为时插入
,这可以防止模式从单个特征被解释,并且插入所有特征,除非另外标记为更新或删除特征。这些都是跳过。
必需的/可选
可选
映射文件的语法
INGRES_WRITER_MODE插入
如果没有指定此指令,则为插入
是给定的。
工作台参数
作家模式
注意:有关此指令的更多信息,请参见数据库作家模式.
GENERIC_GEOMETRY
这个指令在生成时生效,而不是在转换时生效。
默认值NO表示我们希望在目标表上创建几何约束的空间列。例如,一个POINT空间表将只被限制为点。
现在我们可以选择创建通用或非几何约束的空间列。这意味着您可以在一个表中插入多个几何类型。特别地,空间列被创建为具有泛型类型几何
并且在允许的几何类型上没有限制。
必需的/可选
可选
如果INGRES_GENERIC_GEOMETRY
语句未指定,则给定值NO。
映射文件的语法
INGRES_GENERIC_GEOMETRY是的
SPATIAL_COLUMN_NAME
shape的默认值表明,我们希望在目标表上创建一个名称为“shape”的空间列。这个值还可以专门为各个特性类型设置。
注意:这个指令只在生成时生效(而不是在转换期间)。