[發明專利]一種將Transact-SQL程序轉換為Java程序的方法在審
| 申請號: | 201910994111.1 | 申請日: | 2019-10-18 |
| 公開(公告)號: | CN110851142A | 公開(公告)日: | 2020-02-28 |
| 發明(設計)人: | 尹建偉;智晨;鄧水光;李瑩 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F8/51 | 分類號: | G06F8/51 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 萬尾甜;韓介梅 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 transact sql 程序 轉換 java 方法 | ||
本發明公開了一種將Transact?SQL(T?SQL)程序轉換為Java程序的方法,該方法包括以下步驟:1)獲取Transact?SQL對象;2)遍歷類型定義代碼,獲取全局類型信息;3)遍歷業務邏輯代碼,獲取簽名信息以及依賴關系;4)確定業務邏輯代碼的轉換順序;5)依次遍歷業務邏輯代碼,按照轉換規則,執行轉換過程。本發明中的程序轉換方法,一方面,在轉換過程中考慮了T?SQL和Java各自的優勢,既保留了T?SQL對數據庫的高效操作,又獲得了Java的靈活性和可擴展性;另一方面,通過引入自動化轉換技術,降低了人力成本,提高了轉換效率。
技術領域
本發明屬于計算機軟件中的程序轉換領域,具體涉及一種將Transact-SQL程序轉換為Java程序的方法。
背景技術
隨著程序語言的發展,新型的程序語言被不斷設計出來。相比于傳統程序語言,新型程序語言往往支持更多的高級語言特性,表達能力更強,開發起來更快捷,更適應技術發展潮流。因此,企業中的很多歷史悠久的業務系統面臨著從傳統編程語言向新型編程語言轉換的需求。
SQL(Structured Query Language),即結構化查詢語言,是關系型數據庫的標準語言,已被眾多數據庫管理系統所采用。Transact-SQL(簡稱T-SQL)是Microsoft SQLSERVER對SQL的擴展,提供了類似C、Basic和Pascal中的過程式語句,如變量、控制流、子程序等,使得SQL不再局限于標準的數據庫操作,成為一種功能強大的結構化語言,可以用來完成業務邏輯編寫。
Java是一門面向對象編程語言,不僅吸收了C++的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java允許程序員以優雅的思維方式進行復雜的編程,是目前主流的編程語言之一,并且是編寫企業應用程序的首選。
與一般的程序轉換場景不同,T-SQL是一種特殊的編程語言,它包括SQL語句和過程式語句兩部分,而其中的SQL語句必須由數據庫來執行,因此,轉換后的Java程序中既有Java代碼(通常由T-SQL中的過程式語句轉換而來),也有SQL語句(包含在Java的JDBC API調用語句中,以Java中的字符串形式存在)。這兩部分代碼運行在不同的系統軟件中,Java代碼運行在Java虛擬機中,SQL語句運行在數據庫中(Java程序在執行JDBC API調用語句時會通過系統驅動將SQL語句傳遞給數據庫來執行)。這樣的運行方式帶來兩個主要問題:(1)兩種代碼在運行時如何進行數據傳遞;(2)SQL語句如何調用Java語句。產生第二個問題的主要原因是SQL語句中會嵌套一些子程序調用,但是T-SQL中的子程序需要整體轉換為Java中的子程序,而SQL語句在數據庫中執行時是無法調用Java中的子程序的。
另外,也存在一些特殊情況:
■不需要將SQL語句轉換為JDBC API調用語句,而是轉換為Java中的原生實現,這是因為T-SQL本身的語法限制,導致一些在Java中很容易就能完成的功能,在T-SQL中就需要用一些復雜的SQL語句。比如Java中的容器在T-SQL中并沒有類似的實現,所以只能用數據庫表來替代。
■有些過程語句必須由數據庫來執行,所以需要將過程式語句轉換為JDBC API調用。例如T-SQL中的SET語句通常可以轉換為Java中的賦值語句,但如果是通過SET語句改變數據庫系統狀態,就只能轉換為JDBC API調用。
綜上所述,將T-SQL轉換為Java是一項十分復雜的任務。而且,現實中的業務系統往往積累了大量的T-SQL代碼,開發人員進行手動轉換需要耗費大量的時間和人力。
發明內容
針對上述現有技術中存在的缺陷,本發明的目的在于提供一種將Transact-SQL程序轉換為Java程序的方法。
為達到上述目的,本發明釆用如下技術方案:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910994111.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種筆跡數據一致的控制方法、裝置、介質和電子設備
- 下一篇:一種降溫固定椅





