📄 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 + -