<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

基于結構化查詢語言的操作指令自動生成裝置及方法

文檔序號:6339393閱讀:400來源:國知局
專利名稱:基于結構化查詢語言的操作指令自動生成裝置及方法
技術領域
本發明涉及操作指令生成裝置及方法,更具體地,涉及基于結構化查詢語言的操作指令自動生成裝置及方法。
背景技術
目前,隨著信息數據處理需求的日益增長以及不同領域的業務種類的日益豐富, 基于結構化查詢語言(SQL)對數據庫進行動態的操作(例如增加、刪除、修改或查詢等)變得越來越重要。通常,現有的基于結構化查詢語言(SQL)對數據庫進行動態操作的方法及裝置的基本原理如下根據需求,由相關人員人工地為每一項操作定義宿主變量,并基于所述宿主變量編寫相應的sqc指令代碼(即嵌入C語言程序中的SQL),隨后根據所述sqc指令代碼對數據庫進行所需的操作。然而,由于隨著業務種類的日益豐富,所述針對數據庫的操作也越來越頻繁,從而與數據庫之間的交互數量顯著增長。因此,上述現有的技術方案存在如下問題使用人工編寫指令代碼從而進行針對數據庫的操作的方式不能滿足系統對實時性的要求;同時,該方式耗時較多,因而維護成本升高,并且由于過程繁瑣且易于出錯,故降低了整個系統的工作效率和性能;此外,人工編寫的指令代碼的復用性較差。因此,存在如下需求提供一種易于操作、可確保實時性和準確性并且能夠提高系統工作效率和性能的基于結構化查詢語言的操作指令自動生成裝置及方法。

發明內容
為了解決上述現有技術方案所存在的缺陷,本發明提出了一種基于結構化查詢語言的操作指令自動生成裝置及方法。本發明的目的是通過以下技術方案實現的一種基于結構化查詢語言的操作指令自動生成裝置,所述基于結構化查詢語言的操作指令自動生成裝置包括配置文件生成模塊,所述配置文件生成模塊用于基于用戶輸入生成并存儲配置文件;配置文件解析模塊,所述配置文件解析模塊用于建立與數據庫的連接并根據預定規則解析所述配置文件中的所述結構化查詢語句和參數,以及以預定格式存儲解析結果;操作指令生成模塊,所述操作指令生成模塊用于根據所述解析結果自動地生成針對所述數據庫的操作指令;其中,所述配置文件包括結構化查詢語句及參數。在上面所公開的方案中,優選地,根據所述配置文件的名稱確定生成的操作指令的存放路徑。在上面所公開的方案中,優選地,所述配置文件的名稱包括用于標識對數據庫的操作模式的標記,所述操作模式是游標模式、更新模式、選擇模式和順序模式中的至少一個。在上面所公開的方案中,優選地,所述配置文件解析模塊進一步包括解析單元,所述解析單元用于解析所述配置文件的內容,并將所述配置文件中的所述結構化查詢語句和參數分別存入全局字符指針和全局字符數組中;存儲單元,所述存儲單元用于利用嵌入式結構化查詢語言的專用命令將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中。在上面所公開的方案中,優選地,所述存儲單元將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中后斷開與所述數據庫的連接。在上面所公開的方案中,優選地,所述操作指令生成模塊進一步包括頭文件生成單元,所述頭文件生成單元用于根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成頭文件;指令生成單元,所述指令生成單元用于根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成指令代碼。在上面所公開的方案中,優選地,所述指令代碼是sqc指令代碼。在上面所公開的方案中,優選地,所述存儲單元利用嵌入式結構化查詢語言的 DESCRIBE命令和SQLDA數據結構獲取結構化查詢語句的輸入參數和結果集信息。在上面所公開的方案中,優選地,所述基于結構化查詢語言的操作指令自動生成裝置將生成的所述指令代碼編譯成靜態和/或動態函數庫。在上面所公開的方案中,優選地,根據需求,對所述函數庫中的函數的輸入變量賦值,以獲得不同條件下的執行結果。本發明的目的還通過以下技術方案實現—種基于結構化查詢語言的操作指令自動生成方法,所述基于結構化查詢語言的操作指令自動生成方法包括如下步驟(Al)基于用戶輸入生成并存儲配置文件,所述配置文件包括結構化查詢語句及參數;(A2)建立與數據庫的連接并根據預定規則解析所述配置文件中的所述結構化查詢語句和參數,以及以預定格式存儲解析結果;(A3)根據所述解析結果自動地生成針對所述數據庫的操作指令。在上面所公開的方案中,優選地,根據所述配置文件的名稱確定生成的操作指令的存放路徑。在上面所公開的方案中,優選地,所述配置文件的名稱包括用于標識對數據庫的操作模式的標記,所述操作模式是游標模式、更新模式、選擇模式和順序模式中的至少一個。在上面所公開的方案中,優選地,所述步驟m進一步包括(Bi)解析所述配置文件的內容,并將所述配置文件中的所述結構化查詢語句和參數分別存入全局字符指針和全局字符數組中;(B2)利用嵌入式結構化查詢語言的專用命令將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中。
在上面所公開的方案中,優選地,所述步驟m進一步包括(Β; )將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中后斷開與所述數據庫的連接。
coos ] 在上面所公開的方案中,優選地,所述步驟m進一步包括(Cl)根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成頭文件;(C2)根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成指令代碼。在上面所公開的方案中,優選地,所述指令代碼是sqc指令代碼。在上面所公開的方案中,優選地,在所述步驟(B2)中,利用嵌入式結構化查詢語言的DESCRIBE命令和SQLDA數據結構獲取所述結構化查詢語句的輸入參數和結果集信息。在上面所公開的方案中,優選地,將生成的所述指令代碼編譯成靜態和/或動態函數庫。在上面所公開的方案中,優選地,根據需求,對所述函數庫中的函數的輸入變量賦值,以獲得不同條件下的執行結果。本發明所公開的基于結構化查詢語言的操作指令自動生成裝置及方法具有如下優點易于操作;可確保實時性和準確性并且能夠提高系統工作效率和性能;生成的指令代碼具有很高的可復用性。


結合附圖,本發明的技術特征以及優點將會被本領域技術人員更好地理解,其中圖1為根據本發明的實施例的基于結構化查詢語言的操作指令自動生成裝置的結構圖;圖2為根據本發明的實施例的基于結構化查詢語言的操作指令自動生成方法的流程具體實施例方式圖1是根據本發明的實施例的基于結構化查詢語言的操作指令自動生成裝置的結構圖。如圖1所示,示例性地,本發明所公開的基于結構化查詢語言的操作指令自動生成裝置1用于根據配置文件自動地生成針對數據庫的操作指令。如圖1所示,所述操作指令自動生成裝置1包括配置文件生成模塊2、配置文件解析模塊3和操作指令生成模塊4。其中,所述配置文件生成模塊2用于基于用戶輸入生成并存儲配置文件,所述配置文件包括結構化查詢語句(SQL)及參數(示例性地,所述配置文件包括一個SQL語句以及若干輸入參數)。所述配置文件解析模塊3用于建立與數據庫的連接并根據預定規則解析所述配置文件中的所述結構化查詢語句和參數,以及以預定格式存儲解析結果。所述操作指令生成模塊4用于根據所述解析結果自動地生成針對數據庫的操作指令。優選地,在本發明所公開的基于結構化查詢語言的操作指令自動生成裝置中,根據所述配置文件的名稱確定生成的操作指令的存放路徑。其中,示例性地,所述配置文件
6的名稱包括用于識別配置文件所屬庫的標識,用于指示生成的操作指令的存放路徑的標識,用于標識所述配置文件中對數據庫的操作方式的標識(即其確定了所述操作指令自動生成裝置將會按照哪種模式生成代碼)以及用于功能擴展的預留的自定義字段。其中, 示例性地,所述操作指令自動生成裝置1能夠以如下四種模式生成代碼游標模式(即 DECLARE-OPEN-CLOSE方式)、更新模式(即EXEXUTZ. . . USING...方式,表示對數據庫的更新、插入、刪除等)、選擇模式(即SELECT. . . INTO. . . USING...方式,表示對數據庫的單條讀取操作)和順序模式(即VALUES NEXTVAL FOR. . . INTO...方式,表示對數據庫的自增序列的讀取操作)。如圖1所示,在本發明所公開的基于結構化查詢語言的操作指令自動生成裝置中,示例性地,所述配置文件解析模塊3進一步包括解析單元5和存儲單元6。其中,所述解析單元5用于解析所述配置文件的內容,并將所述配置文件中的所述結構化查詢語句和參數分別存入全局字符指針和全局字符數組中。所述存儲單元6用于利用嵌入式結構化查詢語句的專用命令(例如DESCRIBE命令)將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中。優選地,所述存儲單元6將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中后斷開與所述數據庫的連接。如圖1所示,在本發明所公開的基于結構化查詢語言的操作指令自動生成裝置中,示例性地,所述操作指令生成模塊4進一步包括頭文件生成單元7和指令生成單元8。 其中,所述頭文件生成單元7用于根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成頭文件。所述指令生成單元8用于根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成指令代碼。優選地,所述指令代碼是sqc指令代碼。如圖1所示,示例性地,所述配置文件中的所述參數可以用符號“? ”標記,并且可以緊隨其后用兩個“#”符號包含該參數的別名(例如seleCt*fr0m tbl_test where columl = ? #AGE#)。如圖1所示,示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成裝置中,所述解析單元5的基本工作原理如下(1)對所述結構化查詢語句以“#”為分隔符進行分割;(2)將“#”之前的部分取出然后繼續分割剩下的部分;(3)如果不可分,則解析過程結束;(4)如果可分,則將“#”之后的變量參數名取出并繼續分割剩下的部分;(5)如果不可分,則表示變量參數分隔符不匹配,從而報錯退出;(6)如果可分,則返回步驟O)。如圖1所示,示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成裝置中,所述存儲單元6利用嵌入式SQL的DESCRIBE命令和SQLDA (SQL Descriptor Area)數據結構獲取結構化查詢語句的輸入參數和結果集信息,其中,所述SQLDA數據結構包括信息頭和數組結構,所述數組結構中的每個元素描述了一個宿主變量或結果數據集中的一列。由上可知,通過對所述結構化查詢語句應用所述DESCRIBE命令,可以將所述結構化查詢語句的輸入變量和結果集信息寫入到所述SQLDA中。所述存儲單元6的基本工作原理如下進行初始化過程,即為所述SQLDA結構體分配內存(假設所述SQLDA結構體中只有一個數據元素);判斷傳入的參數值是否為0,如果為0,則利用DESCRIBE INPUT命令將所述結構化查詢語句需要的輸入變量信息寫入所述SQLDA結構體中;如果不為0,則利用DESCRIBE OUTPUT命令將所述結構化查詢語句返回的結果集信息寫入所述SQLDA結構體中;讀取所述SQLDA結構體中的數據元素以獲取實際的輸入變量或結果集數目;判斷是否為每列創建2個特定變量類型(例如sqlvar類型)的條目;如果是,則重新為所述SQLDA 結構體分配內存空間(例如,內含2*(sqld+l)個數據元素,其中sqld是實際的輸入變量或結果集數目);如果否,則重新為所述SQLDA結構體分配內存空間(例如,內含(sqld+Ι)個數據元素,其中sqld是實際的輸入變量或結果集數目);再次判斷傳入的參數值是否為0 ; 如果為0,則利用DESCRIBE INPUT命令將所述結構化查詢語句需要的輸入變量信息寫入所述SQLDA結構體中;如果不為0,則利用DESCRIBEOUTPUT命令將所述結構化查詢語句返回的結果集信息寫入所述SQLDA結構體中;順序讀取所述SQLDA結構體中的數據元素,從而將輸入變量或結果集信息寫入全局結構體數組中。如圖1所示,示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成裝置中,所述頭文件生成單元7的基本工作原理如下生成文件的開頭注釋;根據用于存儲結構化查詢語句的輸入變量和結果集信息的所述全局結構體數組中的數據生成頭文件中的結構體定義;根據配置文件的名稱中的信息生成頭文件中的函數聲明。如圖1所示,示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成裝置中,所述指令生成單元8的基本工作原理如下生成文件的開頭注釋;根據所述配置文件的名稱中的信息、頭文件名生成頭文件包含語句和函數聲明語句;根據用于存儲結構化查詢語句的輸入變量和結果集信息的所述全局結構體數組中的數據生成宿主變量的定義;以動態或靜態結構化查詢語句的形式生成數據庫操作函數。如圖1所示,示例性地,由所述操作指令自動生成裝置1生成的sqc代碼可以被編譯成函數庫(靜態庫或動態庫),以供信息處理服務器調用。如圖1所示,優選地,用戶可以根據需求在對所述函數庫中的sqc函數的輸入變量賦值,以獲得不同條件下的執行結果。由上可知,由于所述sqc函數實現的是對數據庫的單一操作,因此由所述操作指令自動生成裝置1生成的代碼具有很高的可復用性。圖2是根據本發明的實施例的基于結構化查詢語言的操作指令自動生成方法的流程圖。如圖2所示,本發明所公開的基于結構化查詢語言的操作指令自動生成方法包括如下步驟(Al)基于用戶輸入生成并存儲配置文件,所述配置文件包括結構化查詢語句 (SQL)及參數(示例性地,所述配置文件包括一個SQL語句以及若干輸入參數)舶建立與數據庫的連接并根據預定規則解析所述配置文件中的所述結構化查詢語句和參數,以及以預定格式存儲解析結果;(Α; )根據所述解析結果自動地生成針對所述數據庫的操作指令。優選地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中,根據所述配置文件的名稱確定生成的操作指令的存放路徑。其中,示例性地,所述配置文件的名稱包括用于識別配置文件所屬庫的標識,用于指示生成的操作指令的存放路徑的標識,用于標識所述配置文件中對數據庫的操作方式的標識(即其確定了所述操作指令自動生成裝置將會按照哪種模式生成代碼)以及用于功能擴展的預留的自定義字段。其中,示例性地,所述操作指令自動生成方法能夠以如下四種模式生成代碼游標模式(即 DECLARE-OPEN-CLOSE方式)、更新模式(即EXEXUTZ. . . USING...方式,表示對數據庫的更新、插入、刪除等)、選擇模式(即SELECT. . . INTO. . . USING...方式,表示對數據庫的單條讀取操作)和順序模式(即VALUES NEXTVAL FOR. . . INTO...方式,表示對數據庫的自增序列的讀取操作)。優選地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中,所述步驟m進一步包括(Bi)解析所述配置文件的內容,并將所述配置文件中的所述結構化查詢語句和參數分別存入全局字符指針和全局字符數組中;(B》利用嵌入式結構化查詢語句的專用命令(例如DESCRIBE命令)將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中。優選地,所述步驟(A2)進一步包括(B3)將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中后斷開與所述數據庫的連接。優選地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中,所述步驟(Α; )進一步包括(Cl)根據所述配置文件的名稱確定所述結構化查詢語句的類型, 并基于所述確定的類型生成頭文件;(C2)根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成指令代碼。優選地,所述指令代碼是sqc指令代碼。示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中, 所述配置文件中的所述參數可以用符號“?”標記,并且可以緊隨其后用兩個“#”符號包含該參數的另Ij名(例如select*fromtbl_test where columl = #AGE#)。示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中, 所述步驟(Bi)進一步包括(1)對所述結構化查詢語句以“#”為分隔符進行分割;(2)將 “#”之前的部分取出然后繼續分割剩下的部分;(3)如果不可分,則解析過程結束;(4)如果可分,則將“#”之后的變量參數名取出并繼續分割剩下的部分;(5)如果不可分,則表示變量參數分隔符不匹配,從而報錯退出;(6)如果可分,則返回步驟O)。示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中, 在所述步驟(B2)中,利用嵌入式SQL的DESCRIBE命令和SQLDA(SQL Descriptor Area) 數據結構獲取結構化查詢語句的輸入參數和結果集信息,其中,所述SQLDA數據結構包括信息頭和數組結構,所述數組結構中的每個元素描述了一個宿主變量或結果數據集中的一列。由上可知,通過對所述結構化查詢語句應用所述DESCRIBE命令,可以將所述結構化查詢語句的輸入變量和結果集信息寫入到所述SQLDA中。所述步驟(B》進一步包括完成初始化過程,即為所述SQLDA結構體分配內存(假設所述SQLDA結構體中只有一個數據元素);判斷傳入的參數值是否為0,如果為0,則利用DESCRIBE INPUT命令將所述結構化查詢語句需要的輸入變量信息寫入所述SQLDA結構體中;如果不為0,則利用DESCRIBE OUTPUT 命令將所述結構化查詢語句返回的結果集信息寫入所述SQLDA結構體中;讀取所述SQLDA 結構體中的數據元素以獲取實際的輸入變量或結果集數目;判斷是否為每列創建2個特定變量類型(例如sqlvar類型)的條目;如果是,則重新為所述SQLDA結構體分配內存空間(例如,內含2*(sqld+l)個數據元素,其中sqld是實際的輸入變量或結果集數目);如果否,則重新為所述SQLDA結構體分配內存空間(例如,內含(sqld+Ι)個數據元素,其中 sqld是實際的輸入變量或結果集數目);再次判斷傳入的參數值是否為0 ;如果為0,則利用DESCRIBE INPUT命令將所述結構化查詢語句需要的輸入變量信息寫入所述SQLDA結構體中;如果不為0,則利用DESCRIBE0UTPUT命令將所述結構化查詢語句返回的結果集信息寫入所述SQLDA結構體中;順序讀取所述SQLDA結構體中的數據元素,從而將輸入變量或結果集信息寫入全局結構體數組中。示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中, 所述步驟(Cl)進一步包括生成文件的開頭注釋;根據用于存儲結構化查詢語句的輸入變量和結果集信息的所述全局結構體數組中的數據生成頭文件中的結構體定義;根據配置文件的名稱中的信息生成頭文件中的函數聲明。示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中, 所述步驟(以)進一步包括生成文件的開頭注釋;根據所述配置文件的名稱中的信息、頭文件名生成頭文件包含語句和函數聲明語句;根據用于存儲結構化查詢語句的輸入變量和結果集信息的所述全局結構體數組中的數據生成宿主變量的定義;以動態或靜態結構化查詢語句的形式生成數據庫操作函數。示例性地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中, 生成的sqc代碼可以被編譯成函數庫(靜態庫或動態庫),以供信息處理服務器調用。優選地,在本發明所公開的基于結構化查詢語言的操作指令自動生成方法中,用戶可以根據需求在對所述函數庫中的sqc函數的輸入變量賦值,以獲得不同條件下的執行結果。盡管本發明是通過上述的優選實施方式進行描述的,但是其實現形式并不局限于上述的實施方式。應該認識到在不脫離本發明主旨和范圍的情況下,本領域技術人員可以對本發明做出不同的變化和修改。
權利要求
1.一種基于結構化查詢語言的操作指令自動生成裝置,所述基于結構化查詢語言的操作指令自動生成裝置包括配置文件生成模塊,所述配置文件生成模塊用于基于用戶輸入生成并存儲配置文件;配置文件解析模塊,所述配置文件解析模塊用于建立與數據庫的連接并根據預定規則解析所述配置文件中的所述結構化查詢語句和參數,以及以預定格式存儲解析結果;操作指令生成模塊,所述操作指令生成模塊用于根據所述解析結果自動地生成針對所述數據庫的操作指令;其中,所述配置文件包括結構化查詢語句及參數。
2.根據權利要求1所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,根據所述配置文件的名稱確定生成的操作指令的存放路徑。
3.根據權利要求2所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,所述配置文件的名稱包括用于標識對數據庫的操作模式的標記,所述操作模式是游標模式、更新模式、選擇模式和順序模式中的至少一個。
4.根據權利要求3所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,所述配置文件解析模塊進一步包括解析單元,所述解析單元用于解析所述配置文件的內容,并將所述配置文件中的所述結構化查詢語句和參數分別存入全局字符指針和全局字符數組中;存儲單元,所述存儲單元用于利用嵌入式結構化查詢語言的專用命令將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中。
5.根據權利要求4所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,所述存儲單元將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中后斷開與所述數據庫的連接。
6.根據權利要求5所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,所述操作指令生成模塊進一步包括頭文件生成單元,所述頭文件生成單元用于根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成頭文件;指令生成單元,所述指令生成單元用于根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成指令代碼。
7.根據權利要求6所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,所述指令代碼是sqc指令代碼。
8.根據權利要求7所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,所述存儲單元利用嵌入式結構化查詢語言的DESCRIBE命令和SQLDA數據結構獲取結構化查詢語句的輸入參數和結果集信息。
9.根據權利要求8所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,所述基于結構化查詢語言的操作指令自動生成裝置將生成的所述指令代碼編譯成靜態和/或動態函數庫。
10.根據權利要求9所述的基于結構化查詢語言的操作指令自動生成裝置,其特征在于,根據需求,對所述函數庫中的函數的輸入變量賦值,以獲得不同條件下的執行結果。
11.一種基于結構化查詢語言的操作指令自動生成方法,所述基于結構化查詢語言的操作指令自動生成方法包括如下步驟(Al)基于用戶輸入生成并存儲配置文件,所述配置文件包括結構化查詢語句及參數;(A2)建立與數據庫的連接并根據預定規則解析所述配置文件中的所述結構化查詢語句和參數,以及以預定格式存儲解析結果;(A3)根據所述解析結果自動地生成針對所述數據庫的操作指令。
12.根據權利要求11所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,根據所述配置文件的名稱確定生成的操作指令的存放路徑。
13.根據權利要求12所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,所述配置文件的名稱包括用于標識對數據庫的操作模式的標記,所述操作模式是游標模式、更新模式、選擇模式和順序模式中的至少一個。
14.根據權利要求13所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,所述步驟m進一步包括(Bi)解析所述配置文件的內容,并將所述配置文件中的所述結構化查詢語句和參數分別存入全局字符指針和全局字符數組中;(B2)利用嵌入式結構化查詢語言的專用命令將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中。
15.根據權利要求14所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,所述步驟(A2)進一步包括(B3)將解析出的所述結構化查詢語句的輸入變量和結果集信息存儲到全局結構體數組中后斷開與所述數據庫的連接。
16.根據權利要求15所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,所述步驟(Α; )進一步包括(Cl)根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成頭文件;(C2)根據所述配置文件的名稱確定所述結構化查詢語句的類型,并基于所述確定的類型生成指令代碼。
17.根據權利要求16所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,所述指令代碼是sqc指令代碼。
18.根據權利要求17所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,在所述步驟(B2)中,利用嵌入式結構化查詢語言的DESCRIBE命令和SQLDA數據結構獲取所述結構化查詢語句的輸入參數和結果集信息。
19.根據權利要求18所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,將生成的所述指令代碼編譯成靜態和/或動態函數庫。
20.根據權利要求19所述的基于結構化查詢語言的操作指令自動生成方法,其特征在于,根據需求,對所述函數庫中的函數的輸入變量賦值,以獲得不同條件下的執行結果。
全文摘要
本發明提出了一種基于結構化查詢語言的操作指令自動生成裝置及方法。其中,所述基于結構化查詢語言的操作指令自動生成裝置包括配置文件生成模塊、配置文件解析模塊以及操作指令生成模塊,其中,所述配置文件包括結構化查詢語句及參數。本發明所公開的基于結構化查詢語言的操作指令自動生成裝置及方法易于操作、生成的指令代碼具有較高的可復用性,并能夠確保實時性和準確性以及能夠提高系統工作效率和性能。
文檔編號G06F17/30GK102541521SQ20101059945
公開日2012年7月4日 申請日期2010年12月17日 優先權日2010年12月17日
發明者豐朋, 周超 申請人:中國銀聯股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影