999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于web及riversql的數據庫管理方案

2015-12-05 08:27:07倪曼蒂馬建明
電子測試 2015年15期
關鍵詞:頁面數據庫功能

倪曼蒂,馬建明

(湖南商務職業技術學院 湖南長沙,410205)

基于web及riversql的數據庫管理方案

倪曼蒂,馬建明

(湖南商務職業技術學院 湖南長沙,410205)

出于安全考慮,將服務器所在網段與辦公電腦所在網段進行隔離,卻為應用系統的數據導入、導出等操作帶來不便。本文在riversql的基礎上,提出了一種基于web的數據庫管理方案,用于對各系統各類型數據庫的綜合管理。

數據庫管理;riversql

1 背景

隨著一年一度高招工作的臨近,高等院校網絡安全面臨新一輪考驗,其中一種常見方式為通過職工的機器間接地獲取信息。為了防止黑客再次通過這樣的手段攻擊服務器,可將服務器所在的網段與職工電腦所在的網段進行隔離,以防止不法份子攻擊服務器,破壞或盜取相關的資料信息。而實際情況下,這樣的措施雖然提高了服務器的安全性和可靠性,卻為網絡中心的日常數據運維帶來了不便,包括數據導入、導出,報表生成等。因此,我們希望能開發一個工具來解決當前的問題。

2 功能設計

目前我院系統使用的數據庫包括mysql及ms sqlserver這兩種常用數據庫,考慮到未來發展,這個數據庫管理工具需要支持mysql、ms sqlserver以及oracle等幾種常用的數據庫的基本操作,滿足對數據表的增、刪、查、改功能,并且對查詢結果進行導出。另外,因為使用者可能存在使用不當的情況,例如當執行了update,delete,add等更改功能時,沒有點擊commit或rollback功能,這就會導致某個數據表行被鎖,因此,為了防止數據庫表不被鎖,當用戶沒有提交事務或回滾而退出瀏覽器時,直接回滾沒有提交的事務,即當session失效時,我們將所有的沒有commit或rollback的功能進行回滾操作。

3 實現原理

要完成對數據庫的管理,必定會面臨的幾個問題,主要包括:如何獲取表字段名稱;如何獲取當前schema下的表,視圖,存儲過程,函數,包等;如何處理不同數據庫之間的差異。

在JDBC技術規范中,提供了Connection,Statement,ResultSet這三個開發過程中常用的接口。針對每個接口,JDBC規范又提供了相應的接口描述對象,也就是xxxMetaData描述對象。而在數據庫管理工具中,我們將會用到DatabaseMetaData和ResultSetMetaData,他們分別描述了數據庫的相關信息和結果集的相關信息。利用xxxMetaData描述對象,我們可以獲取到相應的數據庫信息。但是由于不同的數據庫之間,還會存在差異,因此對于不同數據庫之間的特性,我們還需要通過查詢特定表來獲取相關的信息。

3.1 通過JDBC技術規范獲取數據庫信息

JDBC技術規范中提供了DatabaseMetaData類來訪問數據庫信息。可通過如下代碼獲取到此類, 并且通過此類提供的方法獲取數據庫的相應信息。

Connection con;

Con = DriverManager. getConnection ( url, username, password);

DatabaseMetaData dbmd=con.getMetaData ();

通過getTables方法獲取數據庫表名。此方法可返回結果集ResultSet,結果集中有5列,超出會報越界異常。

ResultSet DatabaseMetaData. getTables (String catalog, String schema, String tableName, String[ ] type)

通過getColumns方法獲取指定表的列信息。

ResultSet DatabaseMetaData getColumns (String catalog, String schema, String tableName, String columnName)

通過getPrimaryKeys得到指定表的主鍵信息:

ResultSet DatabaseMetaData getPrimaryKeys (String catalog, String schema, String tableName)

DatabaseMetaData類除了可以獲取以上所述的信息外,還可以獲取數據庫與用戶,數據庫標識符以及函數與存儲過程;數據庫限制;架構、編目、表、列和視圖等。

3.2 通過sql獲取數據庫的相應信息

有些信息因為不同數據庫之間會存在著差異,因此對這些信息需要分開處理,要獲取這些信息我們可以通過執行sql的方式來獲取相應的數據庫信息,下面將舉例說明:

例1、獲取mysql和oracle的存儲過程

mysql:

"select routine_name from information_schema. routines

where routine_schema=? And routine_ type=’PROCEDURE’ order by 1 asc";

oracle:

final String sql="SELECT object_name, status, creater, last_ddl_time,timestamp"+

"FROM sys.all_objects where owner=?"+

"and object_type=’PROCEDURE’ order by 1 asc";

例2、獲取mysql和oracle的函數

mysql:

"select routine_name from information_schema. routines

where routine_schema=? And routine_type=’FUNCTION’order by 1 asc";

oracle:

final String sql="SELECT object_name, status, created, last_ddl_time,timestamp"+

"FROM sys.all_objects where owner=?"+

"and object_type=’ FUNCTION’ order by 1 asc";

4 實現方案

4.1 整體架構

我們引入了riversql[3]開源工具,并在其基礎上了實現了基于web的數據庫管理工具。主要功能包括數據結構(表,存儲過程,視圖,觸發器等)查看、數據導出(支持CSV/Excel、PDF格式)。技術框架模型如圖1所示:

圖1 技術框架模型

展現層:基于jsp+extJs開發,可兼容大多數瀏覽器。

服務層:服務層中,riversql簡單實現了自己的mvc框架,并沒有使用其他另外一些開源框架。實現的方式,主要是根據傳入的action字符串,然后實例化需要執行的類,每一個實例化的類執行每一個動作,從而實現controller的功能。

數據層:用jdbc直接執行sql。

4.2 基于riversql的二次開發

我們在riversql的基礎上進行了二次開發,強化了整體功能,改善傳輸效率、中文支持等,以滿足我們當前實際的需求。

由于riversql是由外國人開發的一個工具,開發者并沒有考慮到中文的問題,加上不同的中間件編碼以及extjs對傳輸的編碼設置都不盡相同。為了減少這種不同環境的配置的麻煩,我們引入了Base64編碼。在導出數據時,我們先對頁面數據進行編碼,然后再傳到后臺進行解碼導出文件。

由于原先是將所有的數據顯示在頁面上,不利于我們查看數據,也對瀏覽器的js解釋能力帶來負擔,當一次顯示的數據量比較大的時候,瀏覽器的響應速度會比較慢。因此,我們將原來的數據顯示方式,改為分頁方式查看。

此方案導出數據的方式,如圖2所示:

圖2 數據導出

①在頁面上輸入sql語句,傳到后臺進行查詢。

②后臺將查詢到的數據,以報表形式返回到頁面上顯示。

③將頁面上的所有報表數據傳回后臺,后臺對頁面上所顯示的報表數據進行處理,生成特定格式(例如csv,pdf,excel等格式)的字節流。

④返回生成后的報表文件,供用戶下載。

根據以上分析,網絡間的傳輸數據量是最終得到數據的2倍。因此,當數據量較大時,第③、④步將導致網絡開銷升高。因此,我們結合分頁功能對導出數據進行改進。改進后的導出功能分兩種情況:

1)導出當前分頁頁面數據時,用回原來的導出方式進行導出結果。這樣避免了對數據庫頻繁的執行sql。

2)導出全部查詢結果,將第③④步合為一步,即不再將頁面的數據往后臺傳輸,而是再查詢一次數據庫,直接導出結果,而且導出的最大結果集為5000條。

5 結語

隨著教育信息化的不斷推進,各教育單位對網絡安全的要求也會不斷提高,對數據庫系統的安全管理也提出了更高的要求。網絡中心的管理人員應對計算機的管理方式不斷探索與創新,制定出合理的應對措施來面對日益嚴峻的網絡安全考驗。

[1] 計算機數據庫安全管理探析[J].網絡安全技術與應用,2013.10

[2] 基于JDBC的數據庫連接池的煤礦安全監控技術體系建設[J].煤炭技術,2013.7

[3] http://m.blog.csdn.net/blog/alen1985/41356361

Database management scheme based on Web and riversql

Ma Jianming,Ni Mandi
(Hunan Vocational College of Commerce,Changsha,Hunan,410205)

For security reasons, the server where the segment and the office computer network segment where the isolation of,but for the application system of data import and export operation inconvenience.In this paper,based on riversql,a database management scheme based on web is proposed,which is used to manage all kinds of databases.

database management;riversql

猜你喜歡
頁面數據庫功能
大狗熊在睡覺
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
關于非首都功能疏解的幾點思考
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: jizz亚洲高清在线观看| 亚洲精品777| 成人一区在线| 精品福利视频网| 永久在线播放| 久久精品这里只有精99品| 99手机在线视频| 成人亚洲天堂| 国产精品嫩草影院视频| 精品视频91| 国产精品中文免费福利| 中文字幕乱码二三区免费| 日本久久久久久免费网络| 欧美一区二区福利视频| 国产成人毛片| 国产精品lululu在线观看| AV网站中文| 久久精品无码专区免费| 国产精品片在线观看手机版| 久久99蜜桃精品久久久久小说| 亚洲天堂777| 国产精品成人不卡在线观看| 亚洲AⅤ无码日韩AV无码网站| 精品视频在线观看你懂的一区| 欧美一级大片在线观看| 亚洲第一精品福利| 国产激爽爽爽大片在线观看| 国产成人精彩在线视频50| 亚洲久悠悠色悠在线播放| 中文字幕乱码中文乱码51精品| 少妇露出福利视频| 成人伊人色一区二区三区| 91久久夜色精品国产网站| 国产va免费精品观看| 白浆免费视频国产精品视频| 亚洲国产黄色| 久久一日本道色综合久久| 97精品久久久大香线焦| 国产成人喷潮在线观看| AV无码无在线观看免费| 国产又爽又黄无遮挡免费观看| 真实国产乱子伦视频| 久久国语对白| 日本免费精品| a级毛片一区二区免费视频| 欧美国产成人在线| 动漫精品啪啪一区二区三区| 刘亦菲一区二区在线观看| 国产成人精品18| 国产精品福利在线观看无码卡| 欧美有码在线| 欧美啪啪网| 国产成人精品高清不卡在线| 日韩第九页| 性色一区| 久久亚洲国产最新网站| 欧美劲爆第一页| 制服丝袜国产精品| 色播五月婷婷| 最新日韩AV网址在线观看| 婷婷伊人久久| 国产乱子伦手机在线| 欧美精品二区| 亚洲天堂色色人体| 国产一级无码不卡视频| 2021国产精品自产拍在线| 亚洲成人免费在线| 精品一区二区三区水蜜桃| 日韩AV无码免费一二三区| 91在线激情在线观看| 毛片免费在线| 成人av专区精品无码国产| 伊人激情综合网| 日韩视频免费| 性色在线视频精品| 国内精品视频| 日本一本正道综合久久dvd| 久久这里只有精品2| 久久性视频| 久久久久国产精品嫩草影院| 国产人妖视频一区在线观看| 亚洲精品无码高潮喷水A|