Microsoft SQL Server和Azure SQL数据库空间读取器参数

关于数据库连接

数据库格式包括定义和存储身份验证信息的数据库连接参数。有关共享数据库连接的一般信息,请参阅使用数据库连接

请注意,数据库连接参数略有不同,具体取决于上下文和/或数据库格式。

连接

连接参数,则可以执行以下操作之一:

  • 选择先前定义的现有连接。见本节重用数据库连接使用数据库连接
  • 选择添加数据库连接定义一个新连接。请参阅下面特定于数据库的参数以及本节在工作区中添加数据库连接使用数据库连接新连接可以仅对当前用户可见,也可以在多个用户之间共享。

连接参数(添加数据库连接对话框)

用户名和密码

输入用户名和密码以访问服务。

约束条件

在指定数据库连接之后,单击Browse按钮(…)以选择要导入的表。当系统从数据库检索表时,将出现一个连接窗口。

出现“选择表”对话框后,可以选择一个或多个表。单击“确定”关闭窗口并将所选表名添加到列表中参数

WHERE子句

此参数用于约束在中选择的表中的行选择参数(例如,NUMLANES = 2长度>2000).

要构造WHERE子句,请单击“浏览”按钮打开编辑器。(也可以直接在参数字段中键入WHERE子句。)

如果WHERE子句SQL无效,转换将失败。

先进的

应用意图

属性中的服务器连接时声明应用程序工作负载类型总是在环境。

  • 读写(默认)–驱动程序连接到读写节点。
  • 只读–客户端在连接时请求读取工作负载。服务器在连接时强制执行该意图。

一次获取的记录数

从数据源一次检索到本地内存中的行数。例如,如果该值设置为10000,读取器将10,000行读取到本地内存,并从这个内存缓冲区处理特性。读取最后一行之后,读取器从数据源检索接下来的10,000行。

Note: ">注意:如果该参数设置不正确,将导致性能显著下降。最优值主要取决于单个记录的特征以及数据库与客户机之间的传输。它受要检索的行数的影响较小。最优值是格式设置的默认值,这些值变化很大(例如,PostGIS Raster为1;Microsoft SQL Server 10;PostGIS和Redshift是10000)。

几何列有一个SRID

SQL Server不约束列中的所有几何对象具有相同的空间引用ID (SRID)。但是,通常的做法是在给定的列中使用单个SRID。

如果此参数设置为, FME在查询数据库时不会假设每个几何列使用单个SRID。如果不设置,默认值为

处理多个空间列

如果,特征几何图形将被读入总数的. 在聚合上设置一个指令,指示聚合的每个部分独立于其他部分及其自身的几何体。集合的几何图形部分根据其在所读取表中的相应列命名并包含几何图形。

使用此要素时,既不能指定“几何图形/地理”列,也不能指定“要素类型选择”语句。

使用MakeValid搜索信封

此参数控制MakeValid ()当应用搜索信封时,将使用SQL命令。

  • 对:MakeValid ()就会被使用。这可能会导致读取时速度减慢,因为空间数据将被验证并可能被纠正。
  • 否(默认值):MakeValid ()将不使用。这可能会加快读取速度;但是,如果存在无效数据,则可能会导致转换失败。如果转换失败,请将此参数设置为将使翻译成功。

要在读取之前运行的SQL

此参数允许在打开要读取的表之前执行SQL语句。例如,在尝试从临时视图中读取数据之前,可能需要创建一个临时视图。

中SQL函数的详细信息,请单击对应的菜单项SQL来运行编辑器帮助关闭

可用的菜单选项取决于格式。

可以使用指定的字符分隔多个SQL命令FME_SQL_分隔符指令,嵌入在SQL块的开头。此指令后面的单个字符将用于将SQL块拆分为SQL语句,然后将其发送到数据库执行。注意:在字符前包含空格。

例如:

FME_SQL_DELIMITER;删除讲师;删除姓='Doe',名='John'的人

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

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

要在读取后运行的SQL

该参数允许在读取一组表之后执行SQL语句。例如,可能需要在创建临时视图之后清理它。

中SQL函数的详细信息,请单击对应的菜单项SQL来运行编辑器帮助关闭

可用的菜单选项取决于格式。

可以使用指定的字符分隔多个SQL命令FME_SQL_分隔符指令,嵌入在SQL块的开头。此指令后面的单个字符将用于将SQL块拆分为SQL语句,然后将其发送到数据库执行。注意:在字符前包含空格。

例如:

FME_SQL_DELIMITER;删除讲师;删除姓='Doe',名='John'的人

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

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