專利名稱:一種基于sql腳本和ftp傳輸技術的數據庫自動操作系統的制作方法
技術領域:
本發明屬于計算機應用系統技術領域,具體分為三個階段第一階段,自動生成數 據庫操作SQL腳本,其生成的腳本內容包括數據庫的建表、修改數據表結構、根據條件篩選 所需數據的導出等一系列的數據庫表的操作功能;第二階段利用FTP技術,將數據庫SQL腳 本自動傳輸到遠程服務器上;第三階段,遠程服務器端自動執行所接收到得SQL腳本,完成 數據庫結構的修改和數據的導入功能。
背景技術:
在現有計算機軟件應用過程中,數據表的操作都為在現有數據庫管理工具中操 作,數據的導入導出也無法實現根據條件篩選,也不能將不同的數據庫表中的數據進行數 據交換,遠程操作數據庫還是采用比較原始的直連方式,這對服務器的安全性,和數據的準 確性造成很大的影響。
發明內容
為了克服現有計算機數據更新操作繁瑣及數據庫之間的數據交換,尤其是數據遠 程操作的問題,本發明提供一種基于SQL腳本和FTP傳輸技術的數據庫自動操作系統。本發明內容所需配置如下第一階段,即SQL腳本生成階段。數組變量1(columns)列名變量用以存放需要生成腳本的數據表的列名。----此數據變量是存放上述表中的所有表字段列名(columns)名稱,通過循環取 出表中的columns名稱賦于數組變量中,以備其數據表的操作。數組變量2——(DATA)數據對應值,用以存放數據變量1所對應的數據值,以對
備數據一一對應操作。------通過語法的循環操作,一一對應(column)列名數組變量,產生DATA數據
SQL腳本,賦值于數組變量2中,產生的DATA數據腳本中有SQL禁止的一些特別的字符,因 此需要屏蔽非法的字符,產生符合語法的SQL腳本。腳本變量——用以存放產生的SQL 腳本。-------根據以上的操作產生一一對應的SQL腳本放置在腳本變量中,每條SQL語
句用分號隔開。最后通過編碼方法把產生的SQL腳本變量生成SQL腳本文件。第二階段,即SQL腳本傳輸階段SQL腳本傳輸可以采用兩種方式。第一種,遠程服務器端自動下載SQL腳本。該方法適用于多個遠程服務器的數據庫表結構升級和基礎數據導入,便于開發人 員管理各服務器的數據庫結構。該方法配置如下
3
設置一臺通用服務器,該服務器提供文件的FTP上傳和下載功能并提供安全口 令。其他遠程服務器設置訪問的IP變量為通用服務器的IP地址,訪問的用戶名和口 令均為通用服務器的FTP服務所設。開發客戶端設置上傳信息,包括IP地址,用戶名和口令。并根據所設信息上傳SQL 腳本。第二種,由客戶端選擇遠程服務器上傳SQL腳本。該方法適用于一個遠程服務器的數據導入。如多個客戶端將數據上傳到遠程服務 器以作數據匯總和遠程備份。該方法配置如下設置一臺通用服務器,該服務器提供文件的FTP上傳和下載功能并提供安全口 令。客戶端設置訪問的IP地址,安全口令。并根據所設信息上傳SQL腳本。第三階段,遠程服務器端自動執行所接收到得SQL腳本。配置如下在數據庫中創建一個存儲過程,該存儲過程完成SQL腳本執行功能。該存儲過程 需要設置一個字符型參數1,作為保存要執行的SQL腳本語句。參數1的長度8000字符。設置數組參數2,根據標識符——分號——將SQL腳本文件中的字符進行分析,將 分析后產生的字符數組存放到數組參數2中。將數組參數2中的SQL腳本采用循環模式調用存儲過程,執行SQL腳本,完成數據 導入功能。具體的實施方法第一先在數據庫系統表中篩選出用戶所需的數據庫表。第二 根據所選的條件在程序中定義存放字段名的數組、字段名對應的數據數組、 存放表名及產生SQL語句的字符變量。第三查詢本地tbcolumn表中的cColumn字段,通過循環把cColumn中表名存放
在表名數組變量中。第四根據表名數組中的值,查詢出其字段名稱,賦值于字段名的數組中。第五根據所選條件中是更新數據庫表結構,還是新增數據庫表,生成相應的數據 庫表結構操作SQL腳本。第六如果是選擇導出數據側根據表名數組和字段數組,循環查詢出表中字段所 對應的數據值,存放于數據數組中,在存放時篩選或替換不符合語法的特別字符,產生符合 SQL語法腳本的語句,。第七合并字段名的數組、字段名對應的數據數組以存放到腳本變量中去。生成的 腳本文件編碼方式全部采用UTF-8編碼方式。第八所生成的腳本文件,存放在計算機指定的目錄。第九通過網絡把文件傳輸到指定的服務器上,由自動執行文件自動分析并執行 該文件,實現對數據庫表結構的修改和數據的導入功能。注所產生的SQL腳本文件是每個SQL語句組成,并不受文件的大小限制,單每條
4語句大小不得超過8000個英文字符。在傳輸過程中方便安全,此方法適合所有的開發語言 環境。
權利要求
一種基于SQL腳本和FTP傳輸技術的數據庫自動操作,特征在于采用下列步驟 先在系統數據庫中篩選出用戶所需的數據庫表。
根據所選的條件在程序中定義存放字段名的數組、字段名對應的數據數組、存放表名及產生SQL語句的字符變量。查詢本地tbcolumn表中的cColumn字段,通過循環把cColumn中表名存放在表名數組變量中。根據表名數組中的值,查詢出其字段名稱,賦值于字段名的數組中。根據所選條件中是更新數據庫表結構,還是新增數據庫表,生成相應的數據庫表結構操作SQL腳本。如果是選擇導出數據側根據表名數組和字段數組,循環查詢出表中字段所對應的數據值,存放于數據數組中,在存放時篩選或替換不符合語法的特別字符,產生符合SQL語法腳本的語句,。合并字段名的數組、字段名對應的數據數組以存放到腳本變量中去。生成的腳本文件編碼方式全部采用UTF 8編碼方式。所生成的腳本文件,存放在計算機指定的目錄。通過網絡把文件傳輸到指定的服務器上,由自動執行文件自動分析并執行該文件,實現對數據庫表結構的修改和數據的導入功能。
2.根據權利要求1所述的,其特征在于設有用以與系統相同的方法。
3.根據權利要求2所述,其特征在于產生的SQL語法腳本內容與之相同。
全文摘要
本發明屬于計算機應用系統技術領域,具體的說是一種基于SQL腳本和FTP傳輸技術的數據庫自動操作系統,能夠自動生成數據庫操作腳本,其生成的腳本內容包括數據庫的建表、修改數據表結構、根據條件篩選所需數據的導入導出等一系列的數據庫表的操作功能。其特點是1.根據自定義條件產生數據庫腳本;2.解決計算機數據庫中特殊符號;3.解決了通過網絡更新遠程數據庫時受網絡限制而無法更新遠程序數據庫4.解決數據的導入導出的繁鎖操作;5.利用FTP技術;6.通過網絡傳輸SQL腳本文件;7.自動執行SQL腳本文件。本發明充分利用計算機自身的API函數,有效的降低開發時間,提高了開發的效率。
文檔編號H04L29/08GK101944084SQ200910032118
公開日2011年1月12日 申請日期2009年7月9日 優先權日2009年7月9日
發明者楊際榮 申請人:鎮江華揚信息科技有限公司