MySQL端口
MySQL端口可以从MySQL数据库中存储和检索数据。
概览
建立连接后,端口读取数据库中存在的表/视图(table/view)列表。通过选择一个可用的表并从该表中选择列来创建输入或输出映射。端口使用选定的表和列生成一个XML架构结构。
生成输入映射后,当端口接收到与输入映射的XML结构匹配的XML文件时,它将自动将数据插入数据库。生成输出映射后,端口将从数据库中提取数据,并使用提取的值填充与输出映射具有相同的XML结构的XML文件。
端口配置
本节包含所有可配置的端口属性。
配置
数据库连接
与建立数据库连接相关的设置。
设置格式
将连接设置指定为属性列表或连接字符串。
连接字符串
连接字符串格式的数据库凭据。仅在设置格式为“连接字符串”时适用,并用于替代其他连接字段。
服务器
托管数据库的服务器的主机名或IP地址。
端口
要连接到数据库主机的端口。
数据库
要连接到的数据库的名称。
用户
有权访问数据库的用户凭据。
密码
与指定用户关联的密码凭据。
映射
在数据库表和XML文档结构之间建立映射关系。一旦创建了这些映射,就可以将XML数据插入到数据库中,并且可以将从数据库中检索到的数据作为XML推出。
输入映射
输入映射在XML文档结构和数据库插入(或更新)之间创建关系。当匹配输入映射结构的XML文件到达MySQL端口时,端口使用输入文件中的值对数据库进行插入/更新调用。有关生成输入映射的更多信息,请参见输入映射部分。
输出映射
输出映射在XML文档结构和数据库选择语句之间创建一种关系。当端口从数据库接收数据时,它用与输出映射相同的XML结构填充一个XML文件。然后,该XML文件被推送到工作流中的下一个端口。有关生成输出映射的更多信息,请参见输出映射部分。
自动化
自动化配置
与端口自动处理文件相关的设置。
发送
匹配输入映射的XML文件是否会自动插入数据库。
重试间隔(分)
端口在重试失败的发送之前等待的时间间隔。
最大重试次数
端口在引发错误之前发送消息的尝试次数。
接收
是否应该自动从目标数据库中提取数据并用于生成与配置的输出映射匹配的XML文件。
接收执行间隔
自动尝试从数据库中检索数据的间隔时间。
分钟
下载前等待的分钟数。仅在接收执行间隔设置为分钟时适用。
时间过了几分钟
每小时计划的分钟偏移量,仅在接收执行间隔设置为每小时时适用。例如,如果该值设置为5,自动化服务将在1:05、2:05、3:05等处启动。
时间
给定日期内下载发生的时间。仅当“接收执行间隔”设置为“每日”、“每周”或“每月”时适用。
拉取请求应该发生的日期,仅在接收执行间隔设置为每周或每月时适用。
表达式
表达式的任意字符串,用于确定拉请求应该何时发生。仅在接收执行间隔设置为高级时适用。
高级配置
本地文件夹
输入文件夹(Send)
放在这里的文件将由端口发送。如果启用了发送自动化,端口将自动轮询此位置以进行文件处理。
输出文件夹(Receive)
端口会将接收/下载的文件放在此文件夹中。如果端口连接到工作流中的另一个端口,文件将不会保留在这里,而是传递到已连接端口的输入文件夹(Send)。
已处理文件夹(Sent)
发送后,如果启用了”已处理文件夹(Sent)”,端口将在此放置文件的副本,该文件的副本不会传递到工作流中的下一个端口。
防火墙配置
一组设置,用于标识应该通过其连接到数据库的防火墙。
日志
与连接器日志记录相关的设置。
日志文件
磁盘上写入日志文件的路径(包括文件名和扩展名)。
最大日志文件大小
尝试记录超过最大大小的数据将导致创建另一个日志文件,并将当前日期时间附加到文件名末尾。
详细程度
日志文件中包含的详细程度,从1到5,其中5是最详细的。
方案
与数据库架构相关的设置。
位置
磁盘上包含定义表、视图和存储过程的架构文件的目录路径。
将架构报告的表限制为可用表的子集。例如:表A、表B、表C
视图
将架构报告的视图限制为可用视图的子集。例如:视图A、视图B、视图C
SSH
通过SSH连接到数据库主机的设置集合。仅当数据库主机需要SSH连接时才需要。
mysql下载之后是个文件夹SSL
使用SSL客户端身份验证连接到数据库主机的设置集合。仅当数据库主机是需要SSL客户端身份验证的SSL服务器时才需要。
性能
与端口分配资源有关的配置。
最大线程数
从工作池分配的最大线程数以便处理此端口上的文件。 如果配置了,则覆盖“个人配置->高级配置->性能”选项卡中的默认配置。
最大文件数
此端口分配的线程每次能处理的最大文件数。如果配置了,则覆盖“个人配置->高级配置->性能”选项卡中的默认配置。
其他配置
未包含在先前类别中的设置。
连接时长
数据库连接保持打开的持续时间。如果设置为0,则没有限制。
集成安全性
是否使用窗口身份验证进行身份验证。
最大行数
在单个轮询间隔内从数据库中提取的最大记录数。
其他
隐藏属性仅在特定用例中使用。
池空闲超时
连接关闭前允许的空闲时间。
池最大大小
池中的最大连接数。
池最小大小
池中的最小连接数。
池等待时间
等待可用连接的最大秒数。
查询传递
是将查询按原样传递给MySQL,还是执行客户端验证和语法更正。
只读
是否强制对MySQL提供程序进行只读访问。
退货目录
当设置为false时,当查询getCatalogs、getSchemas、getTables、getViews、getProcedures、getColumns、getProcedures参数或getIndex时,端口将返回空值。
SSL服务器证书
标识托管数据库的SSL服务器的公钥证书。仅当数据库托管在SSL服务器上时才需要。如果公钥证书不可用,此字段可以设置为“任何证书”,以隐式信任服务器的身份。
超时
端口在引发超时错误之前等待连接响应的持续时间(秒)。
使用连接池
是否使用开放连接池。
零日期到空日期
是否将包含全零的日期和日期时间值作为空值返回。
命令超时
命令执行超时持续时间(秒)。
平面映射方案
根据文档的文件名控制将使用哪个输入映射来处理传入的平面文件。支持全局匹配,可以通过用分号分隔每个映射来定义多个映射。例如,将此字段设置为‘*INVOICE*=Invoice;*ORDER*=Order;’将导致端口使用发票输入映射来处理文件名中带有“INVOICE”的任何文件,并且名称中带有“ORDER”的任何其他文件将使用订单输入映射来处理。比较不区分大小写。
本地文件方案
一种文件掩码,用于确定端口下载的本地文件名。以下宏可用于引用上下文信息:
%ConnectorId%, %Filename%, %FilenameNoExt%, %Ext%, %ShortDate%, %LongDate%, %RegexFilename:%, %DateFormat:%, %ControlNumber%, %TransactionControlNumber%, %TransactionCode%, %StandardVersion%
例如:%FilenameNoExt%_%ControlNumber%%Ext%
日志消息
已处理文件的日志条目是否包含文件本身的副本。
保存到已发送(Sent)文件夹
端口处理的文件是否应复制到端口的已发送(Sent)文件夹。
建立连接
与MySQL端口建立连接需要以下连接属性:
服务器
端口
数据库
用户名
密码
这些可以配置为单独的属性或数据库连接字符串。
输入映射
输入映射表示对目标数据库中一个或多个表的插入/更新。它们是通过可视化映射编辑器面板创建的,然后在内部建模为XML。端口处理的与输入映射的XML结构匹配的文件将自动
转换为插入或更新查询。
将XML转换为数据库查询的过程在“输入映射为XML”部分中有详细说明;从概念上讲,端口只是简单地从XML元素中读取值,并在进行INSERT/UPDATE语句时使用它们。
创建输入映射
单击“添加映射”按钮(+)创建新映射。从数据库中的可用表列表中选择目标表/视图,以调出映射编辑器面板。在映射编辑器中,选择应该包含在插入/更新中的表列。对于简单的INSERTs,这就是生成映射所需的全部。
创建输入映射后,可以通过单击映射名称旁边的“代码”按钮(</>)来查看其XML表示。
UPSERT
UPSERT设置控制端口如何决定是插入还是更新。最常见的情况是将UPSERT设置为:表的主键。使用这种配置,端口将从输入的XML中读取主键值,查询数据库以查看该键是否已经存在于表中,如果存在则更新记录,如果不存在则插入新记录。UPSERT by:可以设置为
主键以外的列,但这可能会导致从数据库返回多个记录。在这种情况下,端口更新返回的第一条记录。
如果执行此查询以选择UPSERT键:设置为选择查询,端口将比较此查询的结果和输入的XML,以确定是插入还是UDPATE。例如,如果此字段设置为以下查询:
SELECT CustomerName WHERE CustomerAddress = 101 Main Street
然后端口将首先对数据库运行这个查询,然后在输入的XML中查CustomerName元素,最后将该XML值与数据库返回的值进行比较。如果这些值匹配,那么端口将更新该记录,否则它将插入一个新记录。
INSERT
如果在输入映射中禁用UPSERT,端口将自动将查询操作设置为INSERT。端口将尝试为每个输入的XML文件插入新记录,而无需查询数据库来查看该记录是否已经存在。
LOOKUP
有些列有LOOKUP选项可用。端口检测到这些列与数据库中的另一个表有外键关系。如果LOOKUP已启用,端口将在插入前查询该外部表,并使用INSERT中返回的值。LOOKUP by:字段确定将使用哪一列来查询外部表。
例如,假设将采购订单插入数据库,其中“采购订单”表中的一个字段是内部客户标识。假设输入的XML将有一个客户名称元素,但没有客户的内部标识。但是,数据库中的另一个表“客户”既有名称又有标识,因此它可以用于根据名称查标识值。端口将识别“采购订单”表的CustomerID列是外键,并为该列启用LOOKUP。将LOOKUP by:设置为CustomerName将指示端口使用如下语句查询“客户”表:
SELECT CustomerID FROM Customers WHERE CustomerName = @CustomerName
在此查询中,@CustomerName代表输入XML中CustomerName元素中的值。
使用这种配置,端口将首先从“Customers”中检索客户标识,然后在插入“PO”表时使用该值。
作为XML的输入映射
输入映射用XML表示,结构如下:父元素标识要插入的表,每个子元素对应于目标表中的一列。输入映射建立了XML元素和数据库列之间的连接,以便端口可以从传入的XML文档中读取值,并在插入或更新查询中使用它们。
以下是“学生”表的输入映射示例:
1
2
3
4
5
6
7
8
<Items>
    <Students action="insert">
        <StudentID key="true" />
        <Name/>
        <Grade type="int"/>
        <GPA/>
    </Students>
</Items>
在上例中,StudentID, Name, Grade和GPA是“Students”表的每一列。当端口处理与该结构匹配的一个XML文件时,它会自动将该XML中的值插入到“Students”表中。以下是用于上述映射的示例XML输入文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<Items>
    <Students>
        <StudentID>12554</StudentID>
        <Name>Ferris Bueller</Name>
        <Year>11</Year>
        <GPA>1.8</GPA>
    </Students>
    <Students>
        <StudentID>12921</StudentID>
        <Name>Hermione Granger</Name>
        <Year>9</Year>
        <GPA>4.0</GPA>
    </Students>
</Items>
当端口处理上述输入文件时,它将在“学生”表中插入或更新两条记录,每个学生元素一条记录。请注意,如果数据库可以通过自动增量自动生成主键,则表的主键不需要包含在输入的XML中。
插入子表
输入映射支持使用单个映射插入多个表。当创建具有多个表的输入映射时,这些表应该彼此具有外键关系,这样一个表就是另一个表的子表。否则,使用多个输入映射插入到不通过外键相关的表中。
要插入子表,首先创建一个以父表为目标的输入映射。然后使用左上角的+添加按钮从输入映射编辑器中添加子表。从表列表中选择适当的表,设计器将自动填充表的层次结构。选择应包含在输入映射中的子表列。
REF
子表中的一些列将用蓝的“REF”标记来标记。端口检测到这些列对应于父表中的主键。在插入父表之后,在插入子表之前,端口将在父表中查询它刚刚插入的记录的主键。然后,
端口将在插入子表时使用该值。
当父表的主键由数据库生成时,如自动增量键,这很有用。在这种情况下,该列不会作为输入XML传入,因此端口直到将记录插入父表后才知道该列的值。
在输入映射XML中,“引用”属性表示以后可以引用某列,或者该列应该包含由数据库生成的具有保留值LAST_INSERT_ID的“引用”属性(例如自动增量主键):

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。