作家指令
与Microsoft SQL Server空间作家处理的指令如下所列。所示的后缀由当前前缀
服务器
必需/可选:要求
Microsoft SQL服务器的主机名。
MSSQL_SPATIAL_SERVER军情六处
工作台参数:服务器
USE_SSPI
必需/可选:可选的
这指定是否应该使用Windows身份验证对数据库服务器进行身份验证。这个指令应该设置为yes或no。默认值是no。
如果USE_SSPI被设置为是,然后使用Windows身份验证,以及用户名和密码指令将被忽略。
MSSQL_ADO_USE_SSPI是的
工作台参数:使用Windows身份验证
ENCRYPT_CONNECTION
必需的/可选
可选的
映射文件语法
MSSQL_ADO_ENCRYPT_CONNECTION是
工作台参数
加密连接
用户名
必需/可选:可选的
用户谁将会访问数据库的名称。如果正在使用Windows身份验证,这将被忽略。
MSSQL_SPATIAL_USER_NAME bond007
工作台参数:用户名
密码
必需/可选:可选的
访问数据库的用户的密码。如果正在使用Windows身份验证,这将被忽略。
MSSQL_SPATIAL_PASSWORD钱眼
工作台参数:密码
COMMAND_TIMEOUT
对数据库进行查询的超时(秒)。如果设置为零,则不存在超时。默认值是30。
必需的/可选
可选的
值
0 =无超时
默认值:30
映射文件语法
MSSQL_SPATIAL_COMMAND_TIMEOUT 15
工作台参数
命令超时
DATASET
必需/可选:要求
这是数据库名称。
例子:
MSSQL_SPATIAL_DATASET citySource
工作台参数:目标Microsoft SQL Server空间名称
DEF
必需/可选:要求
看到表表示了解详情。
BULK_INSERT
必需的/可选
可选的
该BULK_INSERT选项,通过功能可改变从功能插入模式批量。这可能会导致在6至10倍的插入速度的任何地方。妥协是错误降低粒度,以一个无效的特征可能导致一个完整的交易失败。
注意:大容量插入的速度将随着事务大小的增加而增加(事务越少=插入越快)。更大的事务大小还意味着,如果事务失败,将有更多的行需要重新插入。
在Azure中,Bulk_Insert非常重要,因为插入速度增加了大约300倍。但是,要使Bulk模式在Azure中工作,必须更改SERVER_NAME和USER_NAME参数。
SERVER_NAME = TCP:SERVERNAME.database.windows.net
USER_NAME =用户名@ SERVERNAME
剩下的参数可以保持不变。
如果BULK_INSERT没有指定语句,则没有值给出。BULK_INSERT可以设置为YES或NO。
工作台参数
批量插入
BEGIN_SQL {N}
有时候,你必须执行之前打开表的SQL语句。例如,它可能是必要的,以确保一个视图试图从中读取之前存在。
在打开的连接从数据库中读取,读者查找指令< ReaderKeyword > _BEGIN_SQL {n}(ñ=0,1,2,...),并在数据库连接上以SQL语句的形式执行每个此类指令的值。
属性指定的字符分隔多个SQL命令FME_SQL_DELIMITER
指令,嵌入在SQL块的开头。这个指令后面的单个字符将用于将SQL块分割成SQL语句,然后将SQL语句发送到数据库执行。注意:包含字符前留一个空格。
例如:
FME_SQL_DELIMITER;删除从讲师;删除LastName='Doe'和FirstName='John'的people
多个分隔符不允许和分隔符将被发送到数据库之前被剥离。
在执行这些SQL语句期间发生的任何错误通常都会导致读取器或写入器(取决于SQL语句执行的位置)出现错误。如果指定的语句前面有连字符(" - "),则忽略此类错误。
必需的/可选
可选的
工作台参数
SQL开始
END_SQL {N}
有时,您必须在读取一组表之后执行一些SQL语句。例如,可能需要在创建临时视图之后清理它BEGIN_SQL。
刚刚闭幕的数据库连接之前,读者查找指令< ReaderKeyword > _END_SQL {n}(ñ=0,1,2,...),并在数据库连接上以SQL语句的形式执行每个此类指令的值。
属性指定的字符分隔多个SQL命令FME_SQL_DELIMITER
指令,嵌入在SQL块的开头。这个指令后面的单个字符将用于将SQL块分割成SQL语句,然后将SQL语句发送到数据库执行。注意:包含字符前留一个空格。
例如:
FME_SQL_DELIMITER;删除从讲师;删除LastName='Doe'和FirstName='John'的people
多个分隔符不允许和分隔符将被发送到数据库之前被剥离。
在执行这些SQL语句期间发生的任何错误通常都会导致读取器或写入器(取决于SQL语句执行的位置)出现错误。如果指定的语句前面有连字符(" - "),则忽略此类错误。
必需的/可选
可选的
工作台参数
最终的SQL
START_TRANSACTION
必需/可选:可选的
该语句告诉Microsoft SQL Server空间写入器模块何时开始向数据库中实际写入特性。在到达属于的特性之前,Microsoft SQL Server空间写程序不会编写任何特性<最后成功的事务> + 1。如果指定值为0,则会输出每个特性。通常,指定的值为零—只有在数据加载操作在执行到一半失败后恢复时才指定非零值。
参数 |
内容 |
<最后成功的事务> |
最后成功事务的事务编号。第一次加载数据时,将此值设置为0。 默认:0 |
例子:
MSSQL_SPATIAL_START_TRANSACTION 0
工作台参数:开始交易在
TRANSACTION_INTERVAL
必需/可选:可选的
这是摆在每一个交易的交易前约的功能数量FME语句告诉被提交到数据库。
如果TRANSACTION_INTERVAL语句未指定,则值500被用作交易的时间间隔。
参数 |
内容 |
功能在一个单一的交易数量。 默认:500 |
如果TRANSACTION_INTERVAL设置为0,然后使用基于特性的事务。在编写器处理每个特性时,会检查它们是否有一个被调用的属性fme_db_transaction。该属性指定的值是否作家应提交或回滚当前事务。该属性的值可以是一个COMMIT_BEFORE,COMMIT_AFTER,ROLLBACK_AFTER或忽略。如果fme_db_transaction属性是不以任何特征集,然后在单个事务中出现的全部写入操作。
具体来说,价值fme_db_transaction可以是一个:
- COMMIT_BEFORE:在将特性添加到新事务之前提交当前事务。
- COMMIT_AFTER:将该特性添加到当前事务中,然后提交事务。
- ROLLBACK_AFTER:该功能添加到当前的事务,然后回滚事务。也就是说,在当前交易没有功能将被提交。
- 忽略:该功能被添加到当前事务。
如果在特性上没有找到该属性,则为忽略假定。
例子:
MSSQL_SPATIAL_TRANSACTION_INTERVAL 5000
工作台参数:每个事务特性
SPATIAL_TYPE
必需/可选:可选的
该指令指定是否写入几何形状(平面数据)或地理(大地测量数据)写入到表其DEF线时不包括所述mssql_geom_column或mssql_geog_column指令。
这个指令只有结合效果SPATIAL_COLUMN指示。
参数 |
内容 |
“几何体”或“地理” 默认:几何 |
例子:
MSSQL_SPATIAL_SPATIAL_TYPE几何
工作台参数:空间类型
SPATIAL_COLUMN
必需/可选:可选的
当写入DEF行不包括的表时,此指令指定要使用的几何或地理列mssql_geom_column或mssql_geog_column指令。
这个指令只有结合效果SPATIAL_TYPE指示。
参数 |
内容 |
< spatial_column > |
空间列名。 默认:几何学 |
例子:
MSSQL_SPATIAL_SPATIAL_COLUMN GEOM
工作台参数:空间列
ORIENT_POLYGONS
必需/可选:可选的
当写地理学(大地)的数据,多边形必须根据左手法则被定向:外边界必须是逆时针方向和内边界必须是顺时针方向。如果该指令设置为“否”,FME不会自动重新定向多边形。您可能希望禁用此功能,如果您的输入多边形已知有正确的方向。注意,通过FME突出特征在其上不环绕地球的极或180度子午线,并且不考虑地球的曲率的平面确定多边形取向。因此,可以FME(重新)定向的多边形不正确的情况。
参数 |
内容 |
“是还是不是” 默认:是 |
例子:
MSSQL_SPATIAL_ORIENT_POLYGONS是的
工作台参数:东方多边形
HANDLE_MULTIPLE_SPATIAL_COLUMNS
如果这个指令设置为YES,特征几何将从聚合写入。
这个集合必须包含单独的几何图形,即每个部分独立于其他部分,并且是它自己的完整几何图形。聚合的每个部分几何图形都必须有一个名称。如果聚合包含名称与正在写入的表的空间列匹配的几何图形,则这些几何图形将被写入适当的列。
使用此功能时,几何/地理列不能被指定。
必需的/可选
可选的
映射文件语法
工作台参数
处理多个空间列