Microsoft SQL Server和Azure SQL数据库非空间写入器:特性类型参数
要访问特征类型参数,请单击齿轮图标的功能部件类型打开特征类型参数编辑器。要始终在工作台中显示编辑器,您可以选择查看> Windows >参数编辑器。
一般
所有的特性类型都有相似之处一般参数,其中可能包括特性类型名称、读写器名称和几何图形。
在大多数编写器特性类型参数对话框中,您还可以控制动态模式定义。某些数据库格式在输出表特性类型上接受表限定符前缀。
看到编辑编写器功能类型为更多的信息。
这些参数仅适用于所选的特性类型,而不适用于整个写入器。
提示:如果这里列出的特征类型参数与写器级参数冲突,则忽略写器参数,使用此特征类型参数。
表设置:一般
该参数允许用户指定如何将特性写入目标表。支持的功能操作有:
- 插入:使用特性上的属性将行追加到目标表。
- 更新:使用特性上的属性更新现有的表列。必须在行选择组中指定一个选择方法。
- 删除:删除现有的表行。必须在行选择组中指定一个选择方法。
- fme_db_operation:特性操作将由属性决定fme_db_operation对每个输入特性。必须在行选择组中指定一个选择方法。的价值fme_db_operation将按以下方式处理:
- 如果该值为null、空或缺失,则会将其视为Insert。
- 然后,该值将被不区分大小写地匹配为插入、更新和删除。
- 如果没有匹配,该特性将被拒绝。
- 如果存在匹配,则对该特征执行匹配的特征操作。
提示:的fme_db_operation属性将在特性操作设置为时导致特性拒绝插入,更新,或删除。这种行为不同于以前的FME版本。
更多信息功能操作。
控制特性类型如何处理目标表或列表。这些选项是可用的:
- 使用现有的:写入现有的表或列表。如果目标表/列表不存在,则转换将失败。
- 如果需要创建:如果目标表/列表不存在,则创建它。
- 删除和创建:如果目标表/列表存在,则删除它,然后创建它。在向表写入任何特性之前,写入器将删除并重新创建表。当处理第一个输入特性时,表将被覆盖。如果没有将特性发送到某个特性类型,则不会覆盖相应的表。
- 截断现有:(此选项并不适用于所有格式。)If destination table/list does not exist, the translation will fail.否则,从现有表或列表中删除所有行。
行选择
当插入到表中时,将忽略行选择。在从表中更新和删除(如果适用,基于格式的可用特性操作选项)时,需要指定一个条件来选择要操作的行。这个参数组提供了两种方法来构造选择条件:
对应的列选择器对话框中指定的列将用于匹配目标行。将选择所有匹配的行进行更新或删除。如果与指定匹配列对应的任何特性属性包含空值或缺失值,则将拒绝该特性。
此参数打开WHERE子句建设者。您还可以在不启动构建器的情况下内联地输入WHERE子句。用这个词作为子句的开头是可选的在哪里。
WHERE子句生成器使用户可以方便地引用特性属性值、目标表列和调用FME函数。在哪里子句首先作为FME表达式计算,然后传递到目标数据库。
如果WHERE子句不正确或其计算结果失败,则翻译将失败。否则,如果WHERE子句通过了FME计算,但它是SQL无效的,则该特性将被拒绝或转换将失败。
对于高级用户,可以使用通过条件值编辑器创建的条件FME表达式来创建WHERE子句。
提示:可以将WHERE子句设置为属性。这支持工作空间迁移和涉及的现有工作流亚搏在线fme_where。(直接支持fme_where已弃用。)To advanced users who are accustomed to usingfme_where,如果特性操作设置为更新、删除或fme_db_operation,一个fme_where与匹配列或WHERE子句冲突的属性将导致特性拒绝。
表设置:先进
在插入特性时,此参数确定是否自动填充标识列。
标识列是由数据库服务器按顺序自动填充其值的列。此参数允许您覆盖此行为并提供值。
每个表最多可以指定一个标识列。
- 如果指定了标识列,则选择是的使用来自与标识列对应的特性属性的值填充目标标识列。
- 的选项没有导致数据库服务器自动填充目标标识列。
此参数不影响其他功能操作。
注意:">注意:注意:对于给定的MSSQL连接,只有一种功能类型可以启用此选项;写入器中的所有功能类型共享一个连接,如果写入器使用相同的连接参数,则可以在写入器之间共享连接。
有关Identity列的更多信息,请参阅Microsoft Developer Network主题身份(特性)(transact - sql)。