一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL端口可以從MySQL數(shù)據(jù)庫(kù)中存儲(chǔ)和檢索數(shù)據(jù)

EDI電子數(shù)據(jù)交換 ? 來(lái)源:EDI電子數(shù)據(jù)交換 ? 作者:EDI電子數(shù)據(jù)交換 ? 2022-02-15 14:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MySQL端口可以從MySQL數(shù)據(jù)庫(kù)中存儲(chǔ)和檢索數(shù)據(jù)。

概覽

建立連接后,端口讀取數(shù)據(jù)庫(kù)中存在的表/視圖(table/view)列表。通過(guò)選擇一個(gè)可用的表并從該表中選擇列來(lái)創(chuàng)建輸入或輸出映射。端口使用選定的表和列生成一個(gè)XML架構(gòu)結(jié)構(gòu)。

生成輸入映射后,當(dāng)端口接收到與輸入映射的XML結(jié)構(gòu)匹配的XML文件時(shí),它將自動(dòng)將數(shù)據(jù)插入數(shù)據(jù)庫(kù)。生成輸出映射后,端口將從數(shù)據(jù)庫(kù)中提取數(shù)據(jù),并使用提取的值填充與輸出映射具有相同的XML結(jié)構(gòu)的XML文件。

端口配置

本節(jié)包含所有可配置的端口屬性。

配置

數(shù)據(jù)庫(kù)連接

與建立數(shù)據(jù)庫(kù)連接相關(guān)的設(shè)置。

設(shè)置格式 將連接設(shè)置指定為屬性列表或連接字符串。
連接字符串 連接字符串格式的數(shù)據(jù)庫(kù)憑據(jù)。僅在設(shè)置格式為“連接字符串”時(shí)適用,并用于替代其他連接字段。
服務(wù)器 托管數(shù)據(jù)庫(kù)的服務(wù)器的主機(jī)名或IP地址。
端口 要連接到數(shù)據(jù)庫(kù)主機(jī)的端口。
數(shù)據(jù)庫(kù) 要連接到的數(shù)據(jù)庫(kù)的名稱。
用戶 有權(quán)訪問(wèn)數(shù)據(jù)庫(kù)的用戶憑據(jù)。
密碼 與指定用戶關(guān)聯(lián)的密碼憑據(jù)。

映射

在數(shù)據(jù)庫(kù)表和XML文檔結(jié)構(gòu)之間建立映射關(guān)系。一旦創(chuàng)建了這些映射,就可以將XML數(shù)據(jù)插入到數(shù)據(jù)庫(kù)中,并且可以將從數(shù)據(jù)庫(kù)中檢索到的數(shù)據(jù)作為XML推出。

輸入映射 輸入映射在XML文檔結(jié)構(gòu)和數(shù)據(jù)庫(kù)插入(或更新)之間創(chuàng)建關(guān)系。當(dāng)匹配輸入映射結(jié)構(gòu)的XML文件到達(dá)MySQL端口時(shí),端口使用輸入文件中的值對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入/更新調(diào)用。有關(guān)生成輸入映射的更多信息,請(qǐng)參見(jiàn)輸入映射部分。
輸出映射 輸出映射在XML文檔結(jié)構(gòu)和數(shù)據(jù)庫(kù)選擇語(yǔ)句之間創(chuàng)建一種關(guān)系。當(dāng)端口從數(shù)據(jù)庫(kù)接收數(shù)據(jù)時(shí),它用與輸出映射相同的XML結(jié)構(gòu)填充一個(gè)XML文件。然后,該XML文件被推送到工作流中的下一個(gè)端口。有關(guān)生成輸出映射的更多信息,請(qǐng)參見(jiàn)輸出映射部分。

自動(dòng)化

自動(dòng)化配置

與端口自動(dòng)處理文件相關(guān)的設(shè)置。

發(fā)送 匹配輸入映射的XML文件是否會(huì)自動(dòng)插入數(shù)據(jù)庫(kù)。
重試間隔(分) 端口在重試失敗的發(fā)送之前等待的時(shí)間間隔。
最大重試次數(shù) 端口在引發(fā)錯(cuò)誤之前發(fā)送消息的嘗試次數(shù)。
接收 是否應(yīng)該自動(dòng)從目標(biāo)數(shù)據(jù)庫(kù)中提取數(shù)據(jù)并用于生成與配置的輸出映射匹配的XML文件。
接收?qǐng)?zhí)行間隔 自動(dòng)嘗試從數(shù)據(jù)庫(kù)中檢索數(shù)據(jù)的間隔時(shí)間。
分鐘 下載前等待的分鐘數(shù)。僅在接收?qǐng)?zhí)行間隔設(shè)置為分鐘時(shí)適用。
時(shí)間過(guò)了幾分鐘 每小時(shí)計(jì)劃的分鐘偏移量,僅在接收?qǐng)?zhí)行間隔設(shè)置為每小時(shí)時(shí)適用。例如,如果該值設(shè)置為5,自動(dòng)化服務(wù)將在1:05、2:05、3:05等處啟動(dòng)。
時(shí)間 給定日期內(nèi)下載發(fā)生的時(shí)間。僅當(dāng)“接收?qǐng)?zhí)行間隔”設(shè)置為“每日”、“每周”或“每月”時(shí)適用。
拉取請(qǐng)求應(yīng)該發(fā)生的日期,僅在接收?qǐng)?zhí)行間隔設(shè)置為每周或每月時(shí)適用。
表達(dá)式 表達(dá)式的任意字符串,用于確定拉請(qǐng)求應(yīng)該何時(shí)發(fā)生。僅在接收?qǐng)?zhí)行間隔設(shè)置為高級(jí)時(shí)適用。

高級(jí)配置

本地文件夾

輸入文件夾(Send) 放在這里的文件將由端口發(fā)送。如果啟用了發(fā)送自動(dòng)化,端口將自動(dòng)輪詢此位置以進(jìn)行文件處理。
輸出文件夾(Receive) 端口會(huì)將接收/下載的文件放在此文件夾中。如果端口連接到工作流中的另一個(gè)端口,文件將不會(huì)保留在這里,而是傳遞到已連接端口的輸入文件夾(Send)。
已處理文件夾(Sent) 發(fā)送后,如果啟用了”已處理文件夾(Sent)”,端口將在此放置文件的副本,該文件的副本不會(huì)傳遞到工作流中的下一個(gè)端口。

防火墻配置

一組設(shè)置,用于標(biāo)識(shí)應(yīng)該通過(guò)其連接到數(shù)據(jù)庫(kù)的防火墻。

日志

連接器日志記錄相關(guān)的設(shè)置。

日志文件 磁盤上寫入日志文件的路徑(包括文件名和擴(kuò)展名)。
最大日志文件大小 嘗試記錄超過(guò)最大大小的數(shù)據(jù)將導(dǎo)致創(chuàng)建另一個(gè)日志文件,并將當(dāng)前日期時(shí)間附加到文件名末尾。
詳細(xì)程度 日志文件中包含的詳細(xì)程度,從1到5,其中5是最詳細(xì)的。

方案

與數(shù)據(jù)庫(kù)架構(gòu)相關(guān)的設(shè)置。

位置 磁盤上包含定義表、視圖和存儲(chǔ)過(guò)程的架構(gòu)文件的目錄路徑。
將架構(gòu)報(bào)告的表限制為可用表的子集。例如:表A、表B、表C
視圖 將架構(gòu)報(bào)告的視圖限制為可用視圖的子集。例如:視圖A、視圖B、視圖C

SSH

通過(guò)SSH連接到數(shù)據(jù)庫(kù)主機(jī)的設(shè)置集合。僅當(dāng)數(shù)據(jù)庫(kù)主機(jī)需要SSH連接時(shí)才需要。

SSL

使用SSL客戶端身份驗(yàn)證連接到數(shù)據(jù)庫(kù)主機(jī)的設(shè)置集合。僅當(dāng)數(shù)據(jù)庫(kù)主機(jī)是需要SSL客戶端身份驗(yàn)證的SSL服務(wù)器時(shí)才需要。

性能

與端口分配資源有關(guān)的配置。

最大線程數(shù) 從工作池分配的最大線程數(shù)以便處理此端口上的文件。 如果配置了,則覆蓋“個(gè)人配置->高級(jí)配置->性能”選項(xiàng)卡中的默認(rèn)配置。
最大文件數(shù) 此端口分配的線程每次能處理的最大文件數(shù)。如果配置了,則覆蓋“個(gè)人配置->高級(jí)配置->性能”選項(xiàng)卡中的默認(rèn)配置。

其他配置

未包含在先前類別中的設(shè)置。

連接時(shí)長(zhǎng) 數(shù)據(jù)庫(kù)連接保持打開(kāi)的持續(xù)時(shí)間。如果設(shè)置為0,則沒(méi)有限制。
集成安全性 是否使用窗口身份驗(yàn)證進(jìn)行身份驗(yàn)證。
最大行數(shù) 在單個(gè)輪詢間隔內(nèi)從數(shù)據(jù)庫(kù)中提取的最大記錄數(shù)。
其他 隱藏屬性僅在特定用例中使用。
池空閑超時(shí) 連接關(guān)閉前允許的空閑時(shí)間。
池最大大小 池中的最大連接數(shù)。
池最小大小 池中的最小連接數(shù)。
池等待時(shí)間 等待可用連接的最大秒數(shù)。
查詢傳遞 是將查詢按原樣傳遞給MySQL,還是執(zhí)行客戶端驗(yàn)證和語(yǔ)法更正。
只讀 是否強(qiáng)制對(duì)MySQL提供程序進(jìn)行只讀訪問(wèn)。
退貨目錄 當(dāng)設(shè)置為false時(shí),當(dāng)查詢getCatalogs、getSchemas、getTables、getViews、getProcedures、getColumns、getProcedures參數(shù)或getIndex時(shí),端口將返回空值。
SSL服務(wù)器證書 標(biāo)識(shí)托管數(shù)據(jù)庫(kù)的SSL服務(wù)器的公鑰證書。僅當(dāng)數(shù)據(jù)庫(kù)托管在SSL服務(wù)器上時(shí)才需要。如果公鑰證書不可用,此字段可以設(shè)置為“任何證書”,以隱式信任服務(wù)器的身份。
超時(shí) 端口在引發(fā)超時(shí)錯(cuò)誤之前等待連接響應(yīng)的持續(xù)時(shí)間(秒)。
使用連接池 是否使用開(kāi)放連接池。
零日期到空日期 是否將包含全零的日期和日期時(shí)間值作為空值返回。
命令超時(shí) 命令執(zhí)行超時(shí)持續(xù)時(shí)間(秒)。
平面映射方案 根據(jù)文檔的文件名控制將使用哪個(gè)輸入映射來(lái)處理傳入的平面文件。支持全局匹配,可以通過(guò)用分號(hào)分隔每個(gè)映射來(lái)定義多個(gè)映射。例如,將此字段設(shè)置為‘*INVOICE*=Invoice;*ORDER*=Order;’將導(dǎo)致端口使用發(fā)票輸入映射來(lái)處理文件名中帶有“INVOICE”的任何文件,并且名稱中帶有“ORDER”的任何其他文件將使用訂單輸入映射來(lái)處理。比較不區(qū)分大小寫。
本地文件方案 一種文件掩碼,用于確定端口下載的本地文件名。以下宏可用于引用上下文信息: %ConnectorId%, %Filename%, %FilenameNoExt%, %Ext%, %ShortDate%, %LongDate%, %RegexFilename:%, %DateFormat:%, %ControlNumber%, %TransactionControlNumber%, %TransactionCode%, %StandardVersion% 例如:%FilenameNoExt%_%ControlNumber%%Ext%
日志消息 已處理文件的日志條目是否包含文件本身的副本。
保存到已發(fā)送(Sent)文件夾 端口處理的文件是否應(yīng)復(fù)制到端口的已發(fā)送(Sent)文件夾。

建立連接

與MySQL端口建立連接需要以下連接屬性:

1

2

3

4

5

6

7

8

9

10

服務(wù)器

端口

數(shù)據(jù)庫(kù)

用戶名

密碼

這些可以配置為單獨(dú)的屬性或數(shù)據(jù)庫(kù)連接字符串。

輸入映射

輸入映射表示對(duì)目標(biāo)數(shù)據(jù)庫(kù)中一個(gè)或多個(gè)表的插入/更新。它們是通過(guò)可視化映射編輯器面板創(chuàng)建的,然后在內(nèi)部建模為XML。端口處理的與輸入映射的XML結(jié)構(gòu)匹配的文件將自動(dòng)轉(zhuǎn)換為插入或更新查詢。

將XML轉(zhuǎn)換為數(shù)據(jù)庫(kù)查詢的過(guò)程在“輸入映射為XML”部分中有詳細(xì)說(shuō)明;從概念上講,端口只是簡(jiǎn)單地從XML元素中讀取值,并在進(jìn)行INSERT/UPDATE語(yǔ)句時(shí)使用它們。

創(chuàng)建輸入映射

單擊“添加映射”按鈕(+)創(chuàng)建新映射。從數(shù)據(jù)庫(kù)中的可用表列表中選擇目標(biāo)表/視圖,以調(diào)出映射編輯器面板。在映射編輯器中,選擇應(yīng)該包含在插入/更新中的表列。對(duì)于簡(jiǎn)單的INSERTs,這就是生成映射所需的全部。

創(chuàng)建輸入映射后,可以通過(guò)單擊映射名稱旁邊的“代碼”按鈕()來(lái)查看其XML表示。

UPSERT

UPSERT設(shè)置控制端口如何決定是插入還是更新。最常見(jiàn)的情況是將UPSERT設(shè)置為:表的主鍵。使用這種配置,端口將從輸入的XML中讀取主鍵值,查詢數(shù)據(jù)庫(kù)以查看該鍵是否已經(jīng)存在于表中,如果存在則更新記錄,如果不存在則插入新記錄。UPSERT by:可以設(shè)置為主鍵以外的列,但這可能會(huì)導(dǎo)致從數(shù)據(jù)庫(kù)返回多個(gè)記錄。在這種情況下,端口更新返回的第一條記錄。

如果執(zhí)行此查詢以選擇UPSERT鍵:設(shè)置為選擇查詢,端口將比較此查詢的結(jié)果和輸入的XML,以確定是插入還是UDPATE。例如,如果此字段設(shè)置為以下查詢:

SELECT CustomerName WHERE CustomerAddress = 101 Main Street

然后端口將首先對(duì)數(shù)據(jù)庫(kù)運(yùn)行這個(gè)查詢,然后在輸入的XML中查找CustomerName元素,最后將該XML值與數(shù)據(jù)庫(kù)返回的值進(jìn)行比較。如果這些值匹配,那么端口將更新該記錄,否則它將插入一個(gè)新記錄。

INSERT

如果在輸入映射中禁用UPSERT,端口將自動(dòng)將查詢操作設(shè)置為INSERT。端口將嘗試為每個(gè)輸入的XML文件插入新記錄,而無(wú)需查詢數(shù)據(jù)庫(kù)來(lái)查看該記錄是否已經(jīng)存在。

LOOKUP

有些列有LOOKUP選項(xiàng)可用。端口檢測(cè)到這些列與數(shù)據(jù)庫(kù)中的另一個(gè)表有外鍵關(guān)系。如果LOOKUP已啟用,端口將在插入前查詢?cè)撏獠勘?,并使用INSERT中返回的值。LOOKUP by:字段確定將使用哪一列來(lái)查詢外部表。

例如,假設(shè)將采購(gòu)訂單插入數(shù)據(jù)庫(kù),其中“采購(gòu)訂單”表中的一個(gè)字段是內(nèi)部客戶標(biāo)識(shí)。假設(shè)輸入的XML將有一個(gè)客戶名稱元素,但沒(méi)有客戶的內(nèi)部標(biāo)識(shí)。但是,數(shù)據(jù)庫(kù)中的另一個(gè)表“客戶”既有名稱又有標(biāo)識(shí),因此它可以用于根據(jù)名稱查找標(biāo)識(shí)值。端口將識(shí)別“采購(gòu)訂單”表的CustomerID列是外鍵,并為該列啟用LOOKUP。將LOOKUP by:設(shè)置為CustomerName將指示端口使用如下語(yǔ)句查詢“客戶”表:

SELECT CustomerID FROM Customers WHERE CustomerName = @CustomerName

在此查詢中,@CustomerName代表輸入XML中CustomerName元素中的值。

使用這種配置,端口將首先從“Customers”中檢索客戶標(biāo)識(shí),然后在插入“PO”表時(shí)使用該值。

作為XML的輸入映射

輸入映射用XML表示,結(jié)構(gòu)如下:父元素標(biāo)識(shí)要插入的表,每個(gè)子元素對(duì)應(yīng)于目標(biāo)表中的一列。輸入映射建立了XML元素和數(shù)據(jù)庫(kù)列之間的連接,以便端口可以從傳入的XML文檔中讀取值,并在插入或更新查詢中使用它們。

以下是“學(xué)生”表的輸入映射示例:

1

2

3

4

5

6

7

8

<Students action="insert">

<StudentID key="true" />

<Grade type="int"/>

在上例中,StudentID, Name, Grade和GPA是“Students”表的每一列。當(dāng)端口處理與該結(jié)構(gòu)匹配的一個(gè)XML文件時(shí),它會(huì)自動(dòng)將該XML中的值插入到“Students”表中。以下是用于上述映射的示例XML輸入文件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

12554

Ferris Bueller

11

1.8

12921

Hermione Granger

9

4.0

當(dāng)端口處理上述輸入文件時(shí),它將在“學(xué)生”表中插入或更新兩條記錄,每個(gè)學(xué)生元素一條記錄。請(qǐng)注意,如果數(shù)據(jù)庫(kù)可以通過(guò)自動(dòng)增量自動(dòng)生成主鍵,則表的主鍵不需要包含在輸入的XML中。

插入子表

輸入映射支持使用單個(gè)映射插入多個(gè)表。當(dāng)創(chuàng)建具有多個(gè)表的輸入映射時(shí),這些表應(yīng)該彼此具有外鍵關(guān)系,這樣一個(gè)表就是另一個(gè)表的子表。否則,使用多個(gè)輸入映射插入到不通過(guò)外鍵相關(guān)的表中。

要插入子表,首先創(chuàng)建一個(gè)以父表為目標(biāo)的輸入映射。然后使用左上角的+添加按鈕從輸入映射編輯器中添加子表。從表列表中選擇適當(dāng)?shù)谋?,設(shè)計(jì)器將自動(dòng)填充表的層次結(jié)構(gòu)。選擇應(yīng)包含在輸入映射中的子表列。

REF

子表中的一些列將用藍(lán)色的“REF”標(biāo)記來(lái)標(biāo)記。端口檢測(cè)到這些列對(duì)應(yīng)于父表中的主鍵。在插入父表之后,在插入子表之前,端口將在父表中查詢它剛剛插入的記錄的主鍵。然后,端口將在插入子表時(shí)使用該值。

當(dāng)父表的主鍵由數(shù)據(jù)庫(kù)生成時(shí),如自動(dòng)增量鍵,這很有用。在這種情況下,該列不會(huì)作為輸入XML傳入,因此端口直到將記錄插入父表后才知道該列的值。

在輸入映射XML中,“引用”屬性表示以后可以引用某列,或者該列應(yīng)該包含由數(shù)據(jù)庫(kù)生成的具有保留值LAST_INSERT_ID的“引用”屬性(例如自動(dòng)增量主鍵):

1

2

<film action="upsert">

<film_id key="true" upsert="film_id" ref="@@LAST_INSERT_ID" />

1

2

3

4

5

這表示film_id值將在插入后被檢索,并可在映射中稍后被引用(通常在子表中)。若要稍后引用該值,請(qǐng)將“ref”元素設(shè)置為“自動(dòng)增量”列的名稱:

<pre class="nums:true">

在上例中,film_id是父表中主鍵的名稱,也是子表中列的名稱。“ref”語(yǔ)法指示端口在插入后從父表中檢索film_id,并將檢索到的值用作子表中的film_id列。

LOOKUP

子表的LOOKUP邏輯與父表相同。有關(guān)更多詳細(xì)信息,請(qǐng)參見(jiàn)創(chuàng)建輸入映射中的查找部分。

子表XML

當(dāng)插入父表和子表時(shí),輸入映射XML結(jié)構(gòu)將是多層的。以下是由外鍵關(guān)聯(lián)的兩個(gè)表的輸入映射示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

<film action="upsert">

<film_id key="true" upsert="film_id" ref="@@LAST_INSERT_ID" />

/><>

/><>

/><>

<release_year type="date" />

/><>

<actor_id key="true" />

<film_id key="true" ref="@film_id" />

<last_update type="datetime" />

在上面的例子中,“film”是父表,“film_actor”是子表。film_id列是“film”表的主鍵,“film_actor”表中的外鍵。當(dāng)MySQL端口處理與此結(jié)構(gòu)匹配的輸入XML文件時(shí),它將更新“film”和“film_actor”表,并確保鏈接兩個(gè)記錄的鍵是相同的。

輸出映射表示來(lái)自目標(biāo)數(shù)據(jù)庫(kù)中一個(gè)或多個(gè)表的選擇查詢。它們是通過(guò)可視化映射編輯器面板創(chuàng)建的,然后在內(nèi)部建模為XML。從數(shù)據(jù)庫(kù)返回的結(jié)果用于填充與輸出映射結(jié)構(gòu)匹配的XML文檔。將數(shù)據(jù)庫(kù)響應(yīng)轉(zhuǎn)換為可擴(kuò)展標(biāo)記語(yǔ)言的過(guò)程在輸出映射為可擴(kuò)展標(biāo)記語(yǔ)言一節(jié)中有詳細(xì)介紹。

創(chuàng)建輸出映射

單擊“添加映射”按鈕(+)創(chuàng)建新映射。從數(shù)據(jù)庫(kù)中的可用表列表中選擇目標(biāo)表/視圖,以調(diào)出映射編輯器面板。在映射編輯器中,選擇應(yīng)該在select語(yǔ)句中返回的表列。對(duì)于簡(jiǎn)單的SELECT,這就是生成映射所需的全部?jī)?nèi)容。

創(chuàng)建輸入映射后,可以通過(guò)單擊映射名稱旁邊的“執(zhí)行”按鈕(黑色播放按鈕)來(lái)執(zhí)行它所代表的查詢。此外,可以通過(guò)單擊映射名稱旁邊的“代碼”按鈕()來(lái)查看映射的XML表示。

輸出過(guò)濾器

映射編輯器包括一個(gè)“過(guò)濾器”面板,用于定義限制數(shù)據(jù)庫(kù)返回記錄的規(guī)則。每個(gè)規(guī)則對(duì)應(yīng)于結(jié)果選擇查詢中的WHERE語(yǔ)句,并將指定列與指定值進(jìn)行比較;只會(huì)提取具有匹配列值的記錄。

規(guī)則與“AND ”和“OR”邏輯運(yùn)算符相結(jié)合,當(dāng)應(yīng)用許多規(guī)則時(shí),可以將規(guī)則分組在一起以保持操作順序。

輸出映射為XML

輸出映射用XML表示,結(jié)構(gòu)如下:父元素標(biāo)識(shí)要從中選擇的表,每個(gè)子元素對(duì)應(yīng)于目標(biāo)表中的一列。輸出映射建立了數(shù)據(jù)庫(kù)列和XML元素之間的連接,以便端口可以從數(shù)據(jù)庫(kù)結(jié)果中讀取值,并使用它們來(lái)填充XML文檔。

以下是“Students”表的輸出映射示例:

1

2

3

4

5

6

7

8

<Students selectQuery="SELECT * FROM `Students` WHERE `GPA` = 4.0">

<StudentID key="true" />

<Grade type="int"/>

在上例中,StudentID, Name, Grade和GPA是“Students”表的每一列。執(zhí)行輸出映射時(shí),端口將運(yùn)行指定的選擇查詢,并為返回的每個(gè)記錄生成一個(gè)XML文檔。以下是上述映射的示例XML輸出文件:

1

2

3

4

5

6

7

8

12921

Hermione Granger

9

4.0

批處理XML輸出

可以編輯輸出映射XML,以支持將記錄一起批處理到單個(gè)XML文檔中。在與數(shù)據(jù)庫(kù)表共享名稱的元素中,“batchResults”屬性可以設(shè)置為“true”。例如,在上面從“Students”表中選擇結(jié)果的輸出映射示例中,以下修改將確保結(jié)果是成批的:

1

2

3

4

5

6

7

8

<Students selectQuery="SELECT * FROM `Students` WHERE `GPA` = 4.0" batchResults="true">

<StudentID key="true" />

<Grade type="int"/>

請(qǐng)注意,如果在“SELECT”和“batchResults”啟用期間出現(xiàn)錯(cuò)誤,則可能很難確定哪些記錄由于錯(cuò)誤而未返回。

覆蓋SELECT查詢

輸出映射XML顯示將針對(duì)目標(biāo)數(shù)據(jù)庫(kù)運(yùn)行的SELECT查詢。端口基于輸出映射中的設(shè)置構(gòu)建該查詢,但是如果需要對(duì)查詢進(jìn)行細(xì)粒度控制,則可以手動(dòng)覆蓋該查詢。

只需編輯與數(shù)據(jù)庫(kù)表共享名稱的元素的“selectQuery”屬性,并將其設(shè)置為任意SELECT查詢。

僅處理新的或更改的記錄

輸出映射可以配置為僅檢索最近更新或添加的記錄。端口可以使用兩種方法來(lái)檢測(cè)哪些記錄是新的或修改的。

第一種方法需要一個(gè)DateTime列來(lái)表示記錄的最后修改時(shí)間,第二種方法需要一個(gè)列來(lái)顯式存儲(chǔ)一個(gè)值,該值表示是否應(yīng)該處理記錄。

使用最后修改的列

在映射編輯器中,展開(kāi)面板底部的高級(jí)設(shè)置。如果檢測(cè)到日期時(shí)間列,該選項(xiàng)將可用于使用列來(lái)處理新的或更改的記錄。將此設(shè)置為代表記錄上次修改時(shí)間的適當(dāng)日期時(shí)間列。

使用自定義列

輸出映射可以配置為更新表中成功從數(shù)據(jù)庫(kù)中提取的記錄的列。這可以與篩選器規(guī)則結(jié)合使用,該規(guī)則只選擇具有列值的記錄,該列值指示該記錄尚未被拉取(或應(yīng)該被再次拉取)。

要在處理后啟用列更新,請(qǐng)展開(kāi)映射編輯器底部的高級(jí)設(shè)置。成功處理行時(shí),啟用“用值更新列”,然后指定應(yīng)更新哪個(gè)列以及應(yīng)在該列中設(shè)置的值。

例如,輸出映射可能配置為在提取記錄后將已處理列更新為“1”。然后,可以應(yīng)用過(guò)濾規(guī)則,將記錄限制為僅處理不等于1的記錄。

在本例中,當(dāng)端口處理輸出模板時(shí),它會(huì)基于模板創(chuàng)建一個(gè)SELECT語(yǔ)句。模板將執(zhí)行“SELECT Id, AccountId, Amount FROM INVOICE”,根據(jù)模板為結(jié)果集中的每條記錄創(chuàng)建一個(gè)XML文件,并將這些文件放在該端口的輸出文件夾中。

從多個(gè)表中選擇

輸出映射支持使用單個(gè)映射查詢多個(gè)表。當(dāng)創(chuàng)建具有多個(gè)表的輸出映射時(shí),這些表應(yīng)該彼此具有外鍵關(guān)系,這樣一個(gè)表就是另一個(gè)表的子表。否則,使用多個(gè)輸出映射從不通過(guò)外鍵相關(guān)的表中進(jìn)行選擇。

要查詢子表,首先創(chuàng)建一個(gè)以父表為目標(biāo)的輸出映射。然后使用左上角的+添加按鈕從輸出映射編輯器中添加子表。從表列表中選擇適當(dāng)?shù)谋?,設(shè)計(jì)器將自動(dòng)填充表的層次結(jié)構(gòu)。選擇子表中應(yīng)包含在輸出映射中的列。

以下是包含子表的輸出映射示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<Invoice selectQuery="SELECT * FROM `Invoice` ">

<Id key="true"/>

<InvoiceLineItem table="INVOICELINEITEM">

<InvoiceId ref="@Id"/>

票行項(xiàng)目XML中的記錄與其父項(xiàng)發(fā)票相關(guān)聯(lián),發(fā)票由XML中的“ref”屬性標(biāo)識(shí)。此屬性指示端口使用WHERE子句為“InvoiceLineItem”表生成一個(gè)SELECT語(yǔ)句,該子句從父記錄中標(biāo)識(shí)InvoiceId。一張父發(fā)票可以有多個(gè)InvoiceLineItem。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3910

    瀏覽量

    66005
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    1046

    瀏覽量

    32844
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    850

    瀏覽量

    27752
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MySQL數(shù)據(jù)庫(kù)采集網(wǎng)關(guān)是什么?有什么功能?

    MySQL數(shù)據(jù)庫(kù)采集網(wǎng)關(guān)是一種用于連接、采集、處理并傳輸數(shù)據(jù)MySQL數(shù)據(jù)庫(kù)的中間設(shè)備或軟件系統(tǒng),通常部署在
    的頭像 發(fā)表于 05-26 15:20 ?153次閱讀

    PLC數(shù)據(jù)臺(tái)對(duì)接到MySQL數(shù)據(jù)庫(kù)并對(duì)接到生產(chǎn)看板

    工廠數(shù)據(jù)庫(kù)系統(tǒng)能夠存儲(chǔ)產(chǎn)品訂單信息、生產(chǎn)設(shè)備能力、原材料庫(kù)存等數(shù)據(jù)。將這些數(shù)據(jù)接入MES或ERP等系統(tǒng),能夠?qū)崿F(xiàn)生產(chǎn)管理的可視化應(yīng)用?;谶@些數(shù)據(jù)
    的頭像 發(fā)表于 05-26 11:20 ?105次閱讀
    PLC<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>中</b>臺(tái)對(duì)接到<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>并對(duì)接到生產(chǎn)看板

    MySQL數(shù)據(jù)庫(kù)是什么

    MySQL數(shù)據(jù)庫(kù)是一種 開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS) ,由瑞典MySQL AB公司開(kāi)發(fā),后被Oracle公司收購(gòu)。它通過(guò)結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行
    的頭像 發(fā)表于 05-23 09:18 ?371次閱讀

    數(shù)據(jù)采集到MYSQL和SQLSERVER數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)哪些功能

    ,確保企業(yè)各項(xiàng)數(shù)據(jù)資產(chǎn)得到合理存儲(chǔ)與管理,方便隨時(shí)調(diào)取、搜索,有助于提升管理水平與工作效率。 1.實(shí)時(shí)監(jiān)控與預(yù)警? 通過(guò)將生產(chǎn)設(shè)備數(shù)據(jù)采集到MySQL或SQLServer
    的頭像 發(fā)表于 05-07 15:32 ?163次閱讀

    工業(yè)智能網(wǎng)關(guān)采集能耗數(shù)據(jù)對(duì)接到MySQL數(shù)據(jù)庫(kù)

    在工業(yè)生產(chǎn)中,對(duì)能耗數(shù)據(jù)的有效采集和管理對(duì)于企業(yè)的能源優(yōu)化和成本控制至關(guān)重要。利用工業(yè)智能網(wǎng)關(guān)將能耗數(shù)據(jù)采集并對(duì)接到MySQL數(shù)據(jù)庫(kù),能夠?qū)崿F(xiàn)數(shù)據(jù)
    的頭像 發(fā)表于 02-26 13:56 ?478次閱讀
    工業(yè)智能網(wǎng)關(guān)采集能耗<b class='flag-5'>數(shù)據(jù)</b>對(duì)接到<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)庫(kù)誤刪除表記錄的數(shù)據(jù)恢復(fù)案例

    本地服務(wù)器,安裝的windows server操作系統(tǒng)。 操作系統(tǒng)上部署MySQL單實(shí)例,引擎類型為innodb,表空間類型為獨(dú)立表空間。該MySQL數(shù)據(jù)庫(kù)沒(méi)有備份,未開(kāi)啟binlog。 人為
    的頭像 發(fā)表于 02-22 09:44 ?636次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)——<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>誤刪除表記錄的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    Delphi、C++ Builder和Lazarus連接到MySQL數(shù)據(jù)庫(kù)

    ? Delphi、C++ Builder 和 Lazarus 連接到 MySQL 數(shù)據(jù)庫(kù) MySQL 數(shù)據(jù)訪問(wèn)組件(MyDAC)是一個(gè)組
    的頭像 發(fā)表于 01-20 13:47 ?678次閱讀
    <b class='flag-5'>從</b>Delphi、C++ Builder和Lazarus連接到<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    使用插件將Excel連接到MySQL/MariaDB

    ,可以快速地將數(shù)據(jù) MySQL 或 MariaDB 加載到 Excel,立即從數(shù)據(jù)庫(kù)刷新 Excel 工作簿
    的頭像 發(fā)表于 01-20 12:38 ?582次閱讀
    使用插件將Excel連接到<b class='flag-5'>MySQL</b>/MariaDB

    適用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)庫(kù)

    和 Linux 的 wheel 包分發(fā)。 直接連接 該解決方案使您能夠通過(guò) TCP/IP 建立與 MySQL 或者 MariaDB 數(shù)據(jù)庫(kù)服務(wù)器的直接連接,而無(wú)需數(shù)據(jù)庫(kù)客戶端庫(kù)。另外
    的頭像 發(fā)表于 01-17 12:18 ?469次閱讀
    適用于<b class='flag-5'>MySQL</b>和MariaDB的Python連接器:可靠的<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)</b>連接器和<b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    MySQL數(shù)據(jù)庫(kù)的安裝

    MySQL數(shù)據(jù)庫(kù)的安裝 【一】各種數(shù)據(jù)庫(kù)端口 MySQL :3306 Redis :6379 MongoDB :27017 Django
    的頭像 發(fā)表于 01-14 11:25 ?537次閱讀
    <b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>的安裝

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫(kù)表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫(kù)故障: Mysql數(shù)據(jù)庫(kù)表記錄丟失。 Mysql數(shù)據(jù)庫(kù)故障表現(xiàn): 1、
    的頭像 發(fā)表于 12-16 11:05 ?573次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>Mysql</b><b class='flag-5'>數(shù)據(jù)庫(kù)</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)流程

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫(kù)ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫(kù)故障: mysql數(shù)據(jù)庫(kù)文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫(kù)無(wú)法進(jìn)行查詢等操作;2、使用my
    的頭像 發(fā)表于 12-09 11:05 ?589次閱讀

    香港云服務(wù)器怎么部署MySQL數(shù)據(jù)庫(kù)?

    在香港云服務(wù)器上部署MySQL數(shù)據(jù)庫(kù)的步驟如下: 步驟 1: 更新軟件包列表 首先,確保軟件包列表是最新的。在終端執(zhí)行以下命令: sudo apt update 步驟 2: 安裝 MySQL
    的頭像 發(fā)表于 11-14 16:15 ?509次閱讀

    華納云:MySQL初始化操作如何創(chuàng)建新的數(shù)據(jù)庫(kù)

    要在MySQL創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),可以按照以下步驟進(jìn)行操作: 登錄到MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)
    的頭像 發(fā)表于 09-04 14:30 ?530次閱讀

    華納云:如何修改MySQL的默認(rèn)端口

    MySQL是世界上最流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一。在某些情況下,由于安全性、網(wǎng)絡(luò)策略或端口沖突的原因,數(shù)據(jù)庫(kù)管理員可能需要更改MySQL
    的頭像 發(fā)表于 07-22 14:56 ?509次閱讀
    華納云:如何修改<b class='flag-5'>MySQL</b>的默認(rèn)<b class='flag-5'>端口</b>