作家指令
下面列出了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 |
表中列的类型。字段类型的有效值如下所示:
|
索引类型 |
要为列创建的索引类型。 如果该表以前不存在,那么在创建表时,将创建指定类型的数据库索引。数据库索引只包含一个列。 列类型的有效值如下所示:
|
版本
要求/可选:要求的
此语句告诉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_BEFORE,COMMIT_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语句。例如,在尝试读取视图之前,可能需要确保视图存在。
在打开连接从数据库中读取数据时,读取器会查找指令
可以使用指定的字符分隔多个SQL命令FME_SQL_DELIMITER
指令,嵌入在SQL块的开始部分。这个指令后面的单个字符将用于将SQL块分割成SQL语句,然后将这些语句发送到数据库执行。注意:在字符前加一个空格。
例如:
FME_SQL_分隔符;从讲师处删除;从LastName='Doe'和FirstName='John'所在的人员处删除
不允许有多个分隔符,在发送到数据库之前,分隔符字符将被剥离。
在执行这些SQL语句期间发生的任何错误通常都会导致读卡器或写卡器(取决于SQL语句的执行位置)终止并出现错误。如果指定的语句前面有连字符(“-”),则将忽略此类错误。
必需/可选
可选
工作台参数
开始SQL
END_SQL{n}
有时,您必须在读取一组表之后执行一些SQL语句。例如,在中创建临时视图后,可能需要清理临时视图BEGIN_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文件
要求/可选:要求的
如果设置为“是”,则在写入之前删除现有数据库。
工作台参数
覆盖现有的数据库