作家指令

下面列出了Microsoft Access Writer处理的指令。显示的后缀以当前前缀< WriterKeyword >在映射文件中。默认情况下< WriterKeyword >因为Microsoft Access writer是MDB_ADO

数据集

要求/可选:要求的

这是目标Microsoft Access数据库文件的名称。

工作台参数:目标Microsoft Access数据库文件

暗语

要求/可选:可选

访问数据库的密码。对于现有的数据库,对于没有密码保护的Access数据库可以省略。如果数据库不存在,则新创建的Microsoft Access数据库将受此密码的保护。

请注意,不支持与Microsoft Access工作组关联的数据库。

MDB_ADO_PASSWORD钱眼

工作台参数:暗语

DEF

要求/可选:要求的

在写入每个Microsoft Access表之前,必须定义它。Microsoft Access定义语句的一般形式是:

MDB_ADO_DEF\[MDB_update_key_columns]\[MDB_drop_table(yes | no)]\[MDB_table_writer_mode(从_writer继承|插入|更新|删除)]\[[,]+

当目标表不存在时,表定义指定要创建的表。当目标表存在且未被删除时,列出的字段和类型应与现有表的字段和类型匹配。

表定义中不匹配任何现有列的字段将被写入器忽略。在哪里,则它应该是目标数据库支持的字段类型。

定义行上的配置参数如下表所示:

参数

目录

的表

要写入的表的名称。如果具有指定名称的表存在,则如果mdb_升降台DEFline参数设置为YES,或者如果mdb_truncate_table DEFline参数设置为YES。否则,表将被追加。表名的有效值包括任何不包含sql攻击字符且长度小于128字符的字符串。

mdb_table_writer_mode

根据发送到数据库的SQL语句类型,功能类型的默认操作模式。有效值为插入、更新、删除INHERIT_FROM_WRITER.请注意,插入模式只允许插入作为使现代化删除可以在功能级别覆盖。INHERIT_FROM_WRITER简单地指示从写入器级别获取这个值,而不是在特性类型级别覆盖它。

违约INHERIT_FROM_WRITER

mdb_更新_密钥_

这是一个以逗号分隔的列列表,这些列与相应的FME属性值相匹配,以指定当写入模式为或时哪些行要更新或删除使现代化插入

例如:

mdb_update_key_columns身份证件

将指示编写器确保FME属性始终与同名列匹配。此外,目标表始终是DEF行中指定的要素类型。

每一列都用mdb_update_key_columns指令必须在DEF行上定义类型,以及将由该操作更新其值的列。

mdb_升降台

这指定如果表以此名称存在,则应该删除它,并用此定义指定的表替换。

默认值:无

mdb_截断_表

这指定如果该表以该名称存在,则在写入之前应清除该表。

默认值:无

字段名

要写入的字段的名称。字段名称的有效值包括任何缺少SQL字符且长度小于128个字符的字符串。

fieldType

表中列的类型。字段类型的有效值如下所示:

yesno

备忘录

超链接

replicationid

oleobject

整数

字节

自动编号

日期时间

十进制(宽度,十进制)

双重的

货币

文本(宽度)

索引类型

要为列创建的索引类型。

如果该表以前不存在,那么在创建表时,将创建指定类型的数据库索引。数据库索引只包含一个列。

列类型的有效值如下所示:

索引:没有约束的索引。

独特:具有唯一约束的索引。

版本

要求/可选:要求的

此语句告诉Microsoft Access writer应创建哪个版本的数据库。如果数据库文件已经存在,编写器将自动检测并使用正确的版本。

参数

目录

要创建的Microsoft Access数据库文件的版本。有效值如下:

2000/2002/2003

95/97

2

默认值:2000/2002/2003

例子:

MDB_ADO_版本2000/2002/2003

工作台参数:版本

START_TRANSACTION

要求/可选:可选

此语句告诉Microsoft Access writer模块何时开始向数据库中实际写入功能。Microsoft Access writer不会写入任何功能,直到达到属于它的功能<上次成功的交易> + 1.指定值为0将导致输出每个特性。通常,指定的值是零—只有在数据加载操作在失败中途恢复时才指定非零值。

参数

目录

去年成功的事务> <

上次成功交易的交易编号。首次加载数据时,将此值设置为0

默认值:0

例子:

MDB_ADO_START_事务0

工作台参数:在开始交易

交易间隔

要求/可选:可选

在事务提交到数据库之前,该语句通知FME在每个事务中放置的特性的数量。

如果MDB\u ADO\u事务\u间隔语句未指定,则使用值500作为事务间隔。

参数

目录

< transaction_interval >

单个事务中的特性数量。

默认值:500

如果MDB\u ADO\u事务\u间隔设置为零,则使用基于特征的事务。在编写器处理每个特征时,都会检查它们是否有一个名为fme_db_transaction. 此属性的值指定写入程序是应该提交还是回滚当前事务。属性的值可以是以下值之一:COMMIT_BEFORECOMMIT_AFTER后滚忽视.如果fme_db_transaction属性未在任何特性中设置,则整个写入操作在单个事务中发生。

例子:

MDB_ADO_TRANSACTION_INTERVAL 5000

工作台参数:交易时间间隔

WRITER_MODE

要求/可选:可选

注意:有关详细信息,请参阅数据库编写器模式

此指令通知Microsoft Access编写器,默认情况下该编写器将执行哪些SQL操作。此操作可以设置为插入使现代化,或删除. 可以在要素类型或表格级别覆盖此操作的默认写入程序级别值。相应的要素类型DEF参数名被调用mdb_table_writer_mode。它具有与写入器级别模式和附加值相同的有效选项INHERIT_FROM_WRITER这导致写入器级别模式被特性类型继承,作为该表中包含的特性的默认模式。

该操作也可以使用fme_db_operation属性请注意,当writer模式设置为插入这样可以防止模式从单个特性解释,并插入所有特性。

如果MDB_ADO_WRITER_模式语句,则值为插入是给定的。

参数

目录

编写器应该执行的SQL操作的类型。以下是有效的值列表:

插入

使现代化

删除

默认值:插入

例子:

MDB_ADO_WRITER_MODE插入

工作台参数:编写器模式

BEGIN_SQL {n}

有时,您必须在打开表之前执行一些SQL语句。例如,在尝试读取视图之前,可能需要确保视图存在。

在打开连接从数据库中读取数据时,读取器会查找指令\u BEGIN\u SQL{n}(用于n0, 1, 2,……),并在数据库连接上以SQL语句的形式执行每个此类指令的值。

可以使用指定的字符分隔多个SQL命令FME_SQL_DELIMITER指令,嵌入在SQL块的开始部分。这个指令后面的单个字符将用于将SQL块分割成SQL语句,然后将这些语句发送到数据库执行。注意:在字符前加一个空格。

例如:

FME_SQL_分隔符;从讲师处删除;从LastName='Doe'和FirstName='John'所在的人员处删除

不允许有多个分隔符,在发送到数据库之前,分隔符字符将被剥离。

在执行这些SQL语句期间发生的任何错误通常都会导致读卡器或写卡器(取决于SQL语句的执行位置)终止并出现错误。如果指定的语句前面有连字符(“-”),则将忽略此类错误。

必需/可选

可选

工作台参数

开始SQL

END_SQL{n}

有时,您必须在读取一组表之后执行一些SQL语句。例如,在中创建临时视图后,可能需要清理临时视图BEGIN_SQL

在关闭数据库上的连接之前,读取器会查找该指令\u END\u SQL{n}(用于n0, 1, 2,……),并在数据库连接上以SQL语句的形式执行每个此类指令的值。

可以使用指定的字符分隔多个SQL命令FME_SQL_DELIMITER指令,嵌入在SQL块的开始部分。这个指令后面的单个字符将用于将SQL块分割成SQL语句,然后将这些语句发送到数据库执行。注意:在字符前加一个空格。

例如:

FME_SQL_分隔符;从讲师处删除;从LastName='Doe'和FirstName='John'所在的人员处删除

不允许有多个分隔符,在发送到数据库之前,分隔符字符将被剥离。

在执行这些SQL语句期间发生的任何错误通常都会导致读卡器或写卡器(取决于SQL语句的执行位置)终止并出现错误。如果指定的语句前面有连字符(“-”),则将忽略此类错误。

必需/可选

可选

工作台参数

结束SQL

在\u端压缩\u

当这个指令被设置为" YES "时,Microsoft Access写入器将在所有特性写入后压缩数据库。这将利用现有的MDB数据库选项进行压缩。如果COMPRESS_AT_END不存在,数据库将不会被压缩。

必需/可选

可选

价值观

是|否(默认)

映射文件语法

< WriterKeyword > _COMPRESS_AT_END是的

工作台参数

完成后压缩数据库

覆盖\u文件

要求/可选:要求的

如果设置为“是”,则在写入之前删除现有数据库。

工作台参数

覆盖现有的数据库