MSSQL Spatial和MSSQL Azure Spatial Writer:格式参数
要访问功能类型参数,请单击齿轮图标在工作区中的功能类型上打开功能类型参数编辑器。要始终在WorkBench中显示编辑器,可以选择“查看”>“Windows”>“参数编辑器”。
一般的
所有功能类型都共享类似的常规参数,包括要素类型名称,读者或写字器名称和几何。
在大多数Writer功能类型参数对话框中,您还可以控制动态架构定义。某些数据库格式在输出表功能类型上接受表格限定符前缀。
看编辑编写器功能类型了解更多信息。
表设置:常规
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
此参数允许用户指定如何将功能写入目标表。支持的功能操作是:
- 插入:使用要素属性将行追加到目标表中。
- 更新:使用特征上的属性更新现有表列。必须在行选择组中指定选择方法。
- 删除:删除现有表行。必须在行选择组中指定选择方法。
- fme_db_operation:功能操作将由属性确定fme_db_operation.在每个输入特征上。必须在行选择组中指定选择方法。价值fme_db_operation.将处理如下:
- 如果值为null,则为空或缺少,则将视为插入。
- 下一个值将匹配插入,更新和删除,案件不敏感。
- 如果没有匹配,则将拒绝该功能。
- 如果存在匹配,则将在该功能上执行匹配的功能操作。
提示:这fme_db_operation.属性现在将在特性操作设置为时导致特性拒绝插入那更新, 或者删除。此行为与以前版本的FME不同。
更多信息功能操作。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
控制要素类型如何处理目标表或列表。这些选项可用:
- 利用现有的:写入现有表或列表。如果目标表/列表不存在,则转换将失败。
- 如果需要,创建:创建目标表/列表(如果不存在)。
- 删除并创建:删除目标表/列表如果存在,然后创建它。在编写任何功能之前,作者将删除并重新创建表。在处理第一个输入功能时,将会覆盖表。如果没有将功能发送到要素类型,则不会覆盖相应的表。
- 截断现有的:(此选项不适用于所有格式。)如果目标表/列表不存在,转换将失败。否则,从现有表或列表中删除所有行。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
更新功能时,用户可以选择更新或跳过其空间列。可能的选择是:
- 是的:将更新用户指定的空间列。IFMENulls将被写入空值并替换现有的空间值。
- 不:不会更新空间列。
行选择
插入表格时,将忽略行选择。当从表中更新和删除时,需要指定一个条件来选择要操作的行。此参数组提供两种方法来构造选择条件:
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
相应列选择器对话框中指定的列将用于匹配目标行。将选择所有匹配行以进行更新或删除。如果对应于指定匹配列的任何特征属性包含空或缺少值,则该功能将被拒绝。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
此参数打开一个WHERE子句生成器。您还可以在不启动构建器的情况下在内输入一个Where子句。使用单词启动子句是可选的在哪里。
Where子句构建器使用户可以轻松地引用功能属性值,目标表列和调用FME函数。在传递到目标数据库之前,首先将Where子句评估为FME表达式。
如果Where子句不正确或者其评估导致失败,翻译将失败。否则,如果Where子句通过FME评估,但它是SQL无效的,则该功能将被拒绝或翻译将失败。
对于高级用户,通过条件值编辑器创建的条件FME表达式可用于创建WHERE子句。
提示:可以将WHERE子句设置为属性。这支持工作区迁移和现有工作流,包括亚搏在线fme_where.。(直接支持fme_where.已弃用。)适用于习惯于使用fme_where.如果要设置要更新,删除或fme_db_operation.一fme_where.属性与匹配列冲突或WHERE子句将导致功能拒绝。
表创建参数
笔记:本节中的参数仅在FME创建表格时生效。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
此参数指定如何为指定的空间列创建空间索引。
- 没有任何:不会为此表创建空间索引。
- 手动的:为此指定的SQL语句空间索引创建SQL将执行参数。
- 汽车:将自动为地理位置创建空间索引,半自动为几何图形创建空间索引。此自动化仅在SQL Server 2012及更高版本上可用,且数据库兼容模式为SQL Server 2012或更高版本。
- 地理位置:无需其他信息。可选择指定边界框。
- 几何图形:创建空间索引需要边界框。边界框在中指定边界框(仅限几何)。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
笔记:如果使用的是数据库兼容性级别设置为2012或更高的SQL(Azure)服务器,请考虑将空间索引类型设置为汽车避免指定自定义SQL。看见空间指数类型详情见上文。
由于空间索引创建的复杂性,FME允许用户指定SQL语句,以便在Microsoft SQL Server空间表中的特定空间列上创建索引。通常,此表将是要素类型指定的目标表。
在下面的示例中,将在“几何体”列上创建默认的空间索引几何表格我的桌子:
在my_table(geom)上创建空间索引sidx_geom(nableing_box =(-200,200,200,200))
在下面的示例中,在地理空间列上创建空间索引GEOG的我的桌子:
在my_表(GEOG)上创建空间索引[SIDX_GEOG],使用地理网格(网格=(低、中、高、高),每个对象的单元格=32)
提示:要在现有表上重新创建空间索引,请在SQLCreator Workbench变压器中执行SQL语句。使用上面的示例,SQL语句看起来像:
使用Geography_grid在my_table(geog)上创建空间索引[sidx_geog](grids =(低,中,高,高),cell_per_object = 32,drop_existing = ON)
请参阅MSDN文章创建空间索引(Transact-SQL)有关更多信息和示例。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
这些参数一起为几何形状指定边界框,和
可选择用于地理位置,用于空间索引创建。
- 最小x:边界框的左下角的x坐标。
- 最小y:边界框左下角的y坐标。
- 最大X:边界框右上角的X坐标。
- 最大y:边界框的右上角的y坐标。
表设置:空间
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
此参数确定是否指定的列空间栏包含几何学或者地理价值观。继承来自作家使要素类型检索的值空间类型来自Writer参数空间类型。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
此参数指定空间列的名称。如果此参数保留为空,则它将从writer参数Spatial列继承。
表格设置:高级
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
此参数确定FME汇总和多重的方式将如何解释和处理。因为FME集合和SQL Server集合之间没有一个映射,因此当输入功能包含空间集合时,应注意。
选项保留集合类型将FME Multi作为OGC Multi的,当这样的解释是几何无损时,并且作为OGC几何校集否则。此选项仅保留收集类型。它并不承诺产生的OGC多或几何形状将是简单的或有效的。
选项简化集合类型将把均匀的FME集合解释为OGC Multi的当这种解释是几何无损时,而几何形状校集。它并不承诺产生的OGC多或OGC几何Collection将简单或有效。同质的FME集合是指IFMemulti的,可以转换为IFMemulti的单级IFMeaggregate,而不会丢失几何。
选项简化为有效的收集类型将均匀的FME集合解释为OGC Multi,当这样的解释是几何无损时,并且另外,当这些OGC Multi的SQL Server有效时。作为SQL Server无效的FME集合被解释为GeometryCollections。更远:
- 此选项将具有修复某些SQL Server无效的同构集合的效果。例如,如果一个ifmemultialea包含重叠的多边形,并且这些多边形单独是SQL Server有效的,那么将这样一个ifmemultialea解释为GeometryCollection将删除无效性。
- 此选项无法修复均匀的FME集合,其部件是单独的SQL Server无效。
- 此选项考虑目标空间列类型。作为几何图形有效的SQL Server的FME集合可能不是SQL Server作为地理位置,反之亦然。
所有三种选择都是递归;它们适用于嵌套的FME集合。
当作者参数时处理多个空间被设定为不,多个几何图形被视为FME集合。什么时候处理多个空间被设定为对,顶级多重几何图形的各个部分被解释为不同的空间列,并且这些部分中的每个部分都单独处理。
![关闭](http://www.baooytra.com/docs/fme/2017.1/html/FME_Desktop_Documentation/FME_ReadersWriters/mssql_spatial/../Skins/Default/Stylesheets/Images/transparent.gif)
在插入功能时,此参数确定Identity列是否已自动填充。
标识列是数据库服务器按顺序自动填充其值的列。此参数允许您重写此行为并提供值。
最多可以有一个指定的一个身份列每表指定。
- 如果指定了标识列,则该选项对填充目标标识列,其中包含与身份列对应的要素属性的值。
- 选项不使数据库服务器自动填充目标标识列。
此参数不影响其他功能操作。
笔记:笔记:对于给定的MSSQL连接,只有一种功能类型可以启用此选项;写入程序中的所有要素类型共享一个连接,如果写入程序使用相同的连接参数,则可以在写入程序之间共享连接。
有关Identity列的更多信息,请参阅Microsoft Developer网络主题身份(属性)(Transact-SQL)。