?? databaseinfotest.java
字號:
package ch03.section08;
//Properties對象定義在util包中
//導入JDBCAPI
import java.sql.*;
import java.util.*;
public class DatabaseInfoTest {
public static void main(String args[]) {
//指定數據源
String url = "jdbc:odbc:test";
//聲明連接對象
Connection con;
//聲明數據庫元數據對象
DatabaseMetaData dmd;
//聲明結果集對象存儲數據庫信息
ResultSet rs;
try {
//指定驅動程序名稱
String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";
//裝載驅動程序
Driver driver = (Driver) Class.forName(driverName).newInstance();
//檢測驅動程序是否正確裝入
if (driver == null) {
System.out.println("驅動程序裝入不成功");
}
else {
System.out.println("驅動程序裝入成功");
}
}
catch (Exception e) {
System.err.println(e.getMessage());
}
try {
//添加用戶名和密碼
Properties conn_prp = new Properties();
conn_prp.put("user", "sa");
conn_prp.put("password", "sa");
//獲取與指定數據源連接的連接對象
con = DriverManager.getConnection(url, conn_prp);
if (con == null) {
System.out.println("數據庫連接不成功!");
}
else {
System.out.println("數據庫連接成功!");
}
//取消自動提交模式
con.setAutoCommit(false);
//創建數據庫元數據對象
dmd = con.getMetaData();
//獲取數據庫模式信息
rs = dmd.getSchemas();
System.out.println("--數據庫模式信息--");
while (rs.next()) {
rs.getString("TABLE_SCHEM");
}
rs.close();
//獲取數據庫包含的表
rs = dmd.getTables("", "", "", null);
System.out.println("--database table list--");
while (rs.next()) {
rs.getString("TABLE_NAME");
}
rs.close();
//獲取數據庫包含的存儲過程
rs = dmd.getProcedures("", "", "");
System.out.println("--database procedure list--");
while (rs.next()) {
rs.getString("PROCEDURE_NAME");
}
rs.close();
//獲取數據庫對應的URL
String surl = dmd.getURL();
System.out.println("database URL is " + surl);
//獲取當前連接數據庫的用戶
String suser = dmd.getUserName();
System.out.println("database user is " + suser);
//判斷數據庫是否支持事務
if (dmd.supportsTransactions()) {
System.out.println("database support transaction");
}
else {
System.out.println("database don't support transaction");
}
//判斷數據庫是否支持外部連接
if (dmd.supportsOuterJoins()) {
System.out.println("database support OuterJoin");
}
else {
System.out.println("database don't support OuterJoin");
}
//判斷數據庫是否支持GroupBy語句
if (dmd.supportsGroupBy()) {
System.out.println("數據庫支持GroupBy語句");
}
else {
System.out.println("數據庫不支持GroupBy語句");
}
//獲取數據庫表可包含的最大列數
int num = dmd.getMaxColumnsInTable();
System.out.println("數據庫表可包含的最大列數是 " + num);
//關閉連接
con.close();
}
catch (SQLException ex) {
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -