[發明專利]一種將Transact-SQL程序轉換為Java程序的方法在審
| 申請號: | 201910994111.1 | 申請日: | 2019-10-18 |
| 公開(公告)號: | CN110851142A | 公開(公告)日: | 2020-02-28 |
| 發明(設計)人: | 尹建偉;智晨;鄧水光;李瑩 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F8/51 | 分類號: | G06F8/51 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 萬尾甜;韓介梅 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 transact sql 程序 轉換 java 方法 | ||
1.一種將Transact-SQL程序轉換為Java程序的方法,其特征在于,包括如下步驟:
獲取Transact-SQL代碼;
遍歷類型定義代碼,獲取全局類型信息;
遍歷業務邏輯代碼,獲取簽名信息以及依賴關系;
確定業務邏輯代碼的轉換順序;
依次遍歷業務邏輯代碼,按照轉換規則,執行轉換過程。
2.根據權利要求1所述的將Transact-SQL程序轉換為Java程序的方法,其特征在于,所獲取的Transact-SQL代碼包括數據庫表定義代碼、用戶定義類型代碼、函數定義代碼、存儲過程定義代碼。
3.根據權利要求1所述的將Transact-SQL程序轉換為Java程序的方法,其特征在于,所述的遍歷類型定義代碼,獲取全局類型信息,包括如下步驟:
構建T-SQL類型定義代碼的抽象語法樹AST;
遍歷抽象語法樹,訪問特定節點類型,提取全局類型信息。
4.根據權利要求1所述的將Transact-SQL程序轉換為Java程序的方法,其特征在于,所述的遍歷業務邏輯代碼,獲取簽名信息以及依賴關系,包括如下步驟:
構建T-SQL業務邏輯代碼的抽象語法樹;
遍歷抽象語法樹,訪問特定節點類型,提取簽名信息以及依賴信息;
所述的簽名信息包括函數名稱/存儲過程名稱、輸入參數的信息和返回值的信息,輸入參數的數量和返回值的數量都是不限的;輸入參數的信息包括名稱、類型、順序、默認值;返回值的信息包括名稱、類型、順序;每個輸入參數或返回值的類型是內置類型、數據庫表和自定義類型中的任意一種具體類型;
所述的依賴信息主要體現在業務邏輯代碼之間的調用關系。
5.根據權利要求4所述的將Transact-SQL程序轉換為Java程序的方法,其特征在于,所述的業務邏輯代碼的轉換順序主要考慮依賴關系,被依賴方要在依賴方之前進行轉換,并基于依賴關系,通過拓撲排序確定轉換順序。
6.根據權利要求5所述的將Transact-SQL程序轉換為Java程序的方法,其特征在于,完成轉換后,每個T-SQL自定義函數/存儲過程都轉換為獨立的Java類,自定義函數/存儲過程中的可執行代碼轉換為Java類中的一個靜態方法的方法體。
7.根據權利要求4所述的將Transact-SQL程序轉換為Java程序的方法,其特征在于,轉換過程包括方法簽名生成和方法體生成兩部分,所述的方法簽名基于提取的簽名信息來生成,包括方法名、輸入參數名稱、輸入參數類型和返回值類型;方法體的生成包括如下步驟:
基于T-SQL業務邏輯代碼構建抽象語法樹;
遍歷T-SQL抽象語法樹,根據節點類型及其相鄰節點類型,按照T-SQL語法的轉換規則轉換為Java抽象語法樹;
根據Java抽象語法樹生成Java業務邏輯代碼。
8.根據權利要求7所述的將Transact-SQL程序轉換為Java程序的方法,其特征在于,在生成方法體的過程中,需要對包含子程序調用的標準SQL語句進行特殊處理,以解決Java代碼和SQL代碼之間的數據傳遞問題;所述的特殊處理包括如下步驟:
判斷子程序類型,如果是系統內置子程序,不需對子程序進行轉換,直接生成JDBC API調用語句;如果是自定義子程序,再判斷子程序的執行結果是否依賴于所在的SQL語句,如果不存在依賴,先將自定義子程序的調用提前,轉換為Java中的子程序調用語句,并使用局部變量存儲返回值,再將SQL語句中的子程序調用改為對返回值的引用,如果存在依賴,則不存在統一的轉換方案,需要開發人員根據具體代碼人工設計轉換方案;
對于自定義子程序,如果子程序調用的輸入參數引用了數據庫表的數據列,那么子程序的執行結果就依賴于所在的SQL語句。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910994111.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種筆跡數據一致的控制方法、裝置、介質和電子設備
- 下一篇:一種降溫固定椅





