雅典之夏的小站
          知人者智 自知者明 Fighting!!
          一、通過DatabaseMetaData對象了解數據庫的信息



          JSP通過JDBC對數據庫管理系統進行連接以后,得到一個Connection 對象,可以從這個對象獲得有關數據庫管理系統的各種信息,包括數據庫中的各個表,表中的各個列,數據類型,觸發器,存儲過程等各方面的信息。根據這些信息,JDBC可以訪問一個實現事先并不了解的數據庫。獲取這些信息的方法都是在DatabaseMetaData類的對象上實現的,而DataBaseMetaData對象是在Connection對象上獲得的。



          按照慣例,讓我們先來看看下面這個例子:



          package com.rongji.demo;



          import java.sql.Connection;

          import java.sql.DriverManager;

          import java.sql.Statement;

          import java.sql.DatabaseMetaData;





          public class DataConn {

          public DataConn() {

          }

          public static void main(String[] args) {

          try

          {

          //加載驅動程序

          //下面的代碼為加載JDBD-ODBC驅動程序

          Class.forName("oracle.jdbc.driver.OracleDriver");

          //建立連接

          //用適當的驅動程序連接到DBMS,看下面的代碼[自行修改您所連接的數據庫相關信息]:

          String url="jdbc:oracle:thin:@192.168.4.45:1521:oemrep";

          String user = "ums";

          String password = "rongji";

          //用url創建連接

          Connection con=DriverManager.getConnection(url,user,password);



          //獲取數據庫的信息

          DatabaseMetaData dbMetaData = con.getMetaData();

          //返回一個String類對象,代表數據庫的URL

          System.out.println("URL:"+dbMetaData.getURL()+";");

          //返回連接當前數據庫管理系統的用戶名。

          System.out.println("UserName:"+dbMetaData.getUserName()+";");

          //返回一個boolean值,指示數據庫是否只允許讀操作。

          System.out.println("isReadOnly:"+dbMetaData.isReadOnly()+";");

          //返回數據庫的產品名稱。

          System.out.println("DatabaseProductName:"+dbMetaData.getDatabaseProductName()+";");

          //返回數據庫的版本號。

          System.out.println("DatabaseProductVersion:"+dbMetaData.getDatabaseProductVersion()+";");

          //返回驅動驅動程序的名稱。

          System.out.println("DriverName:"+dbMetaData.getDriverName()+";");

          //返回驅動程序的版本號。

          System.out.println("DriverVersion:"+dbMetaData.getDriverVersion());

          //關閉連接

          con.close();

          }

          catch (Exception e)

          {

          //輸出異常信息

          System.err.println("SQLException :"+e.getMessage());

          e.printStackTrace();

          }

          }

          }



          通過上面的例子,我們可以看出,DatabaseMetaData類的對象的實現,如下語句

          <%

          DatabaseMetaData datameta=con.getMetaData();

          %>

          DatabaseMetaData類中提供了許多方法用于獲得數據源的各種信息,通過這些方法可以非常詳細的了解數據庫的信息。就如我們上面例子中所顯示的幾個信息[其他的方法請讀者參考JDK API中的DatabaseMetaData類]:



          getURL()

          返回一個String類對象,代表數據庫的URL。

          getUserName()

          返回連接當前數據庫管理系統的用戶名。

          isReadOnly()

          返回一個boolean值,指示數據庫是否只允許讀操作。

          getDatabaseProductName()

          返回數據庫的產品名稱。

          getDatabaseProductVersion()

          返回數據庫的版本號。

          getDriverName()

          返回驅動驅動程序的名稱。

          getDriverVersion()

          返回驅動程序的版本號。
          posted on 2005-10-27 12:51 rkind 閱讀(82) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 东乡族自治县| 壤塘县| 定远县| 旌德县| 金寨县| 平顶山市| 固安县| 绿春县| 会泽县| 元谋县| 桐柏县| 峡江县| 九江县| 塘沽区| 革吉县| 南平市| 左权县| 玉溪市| 巴林右旗| 理塘县| 张家港市| 沧源| 滁州市| 古丈县| 伊宁县| 鄂托克前旗| 揭东县| 江口县| 垣曲县| 汾西县| 阳曲县| 奈曼旗| 乌兰浩特市| 鄂伦春自治旗| 黎川县| 调兵山市| 上犹县| 股票| 山西省| 普兰县| 新邵县|