使用DatabaseMetaDate获取数据库信息
来源:互联网 发布:php实例化 编辑:程序博客网 时间:2024/05/16 01:36
import java.sql.*;
public class GetDBInfo
{
public GetDBInfo()
{
}
public static void main(String[] args)
{
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://GAOXIANG:1433;DataBaseName=master";
String user="daryl715";
String pass="1234";
String s;
Connection con=DriverManager.getConnection(url,user,pass);
DatabaseMetaData dbmd=con.getMetaData();
s = dbmd.getDriverName();
System.out.println("驱动程序的名称是: "+s);
System.out.println(" ");
s = dbmd.getDatabaseProductName();
System.out.println ("数据库名称是:"+s);
System.out.println(" ");
ResultSet rs = dbmd.getSchemas();
System.out.println("模式名有:");
while(rs.next())
System.out.print(" "+rs.getString(1));
System.out.println();
s = dbmd.getSQLKeywords();
System.out.println("SQL中的关键词为: "+s);
System.out.println(" ");
int max=dbmd.getMaxColumnNameLength();
System.out.println ("列名的最大长度可以是:"+max);
System.out.println(" ");
max = dbmd.getMaxTableNameLength();
System.out.println ("表名的最大长度可以是:"+max);
System.out.println(" ");
max = dbmd.getMaxColumnsInSelect();
System.out.println ("一个select 子句所能返回的最多列数列名的最大长度可是是:"+max);
System.out.println(" ");
max = dbmd.getMaxTablesInSelect();
System.out.println ("一个SELECT语句最多可以访问多少个表:"+max);
System.out.println(" ");
max = dbmd.getMaxColumnsInTable();
System.out.println ("表中允许的最多列数:"+max);
System.out.println(" ");
max = dbmd.getMaxConnections();
System.out.println ("并发访问的用户个数:"+max);
System.out.println(" ");
max = dbmd.getMaxStatementLength();
System.out.println ("SQL语句最大允许的长度:"+max);
System.out.println(" ");
s = dbmd.getNumericFunctions();
System.out.println("数据库的所有数学函数的列表: "+s);
System.out.println(" ");
s = dbmd.getStringFunctions();
System.out.println("数据库的所有字符串函数的列表: "+s);
System.out.println(" ");
s = dbmd.getSystemFunctions();
System.out.println("数据库的所有系统函数的列表: "+s);
System.out.println(" ");
s = dbmd.getTimeDateFunctions();
System.out.println("数据库的所有日期时间函数的列表: "+s);
System.out.println(" ");
rs = dbmd.getTypeInfo();
while(rs.next())
{
System.out.print(" 数据类型名:"+rs.getString(1));
System.out.print(" 数据类型:"+ rs.getString(2));
System.out.print(" 精度:"+ rs.getString(3));
System.out.println(" 基数:"+ rs.getString(18));
}
System.out.println(" ");
s = dbmd.getURL();
System.out.println("此数据库的url: "+s);
System.out.println(" ");
s = dbmd.getUserName();
System.out.println("此数据库的用户: "+s);
System.out.println(" ");
String [ ] t = { "TABLE", "VIEW" };
rs = dbmd.getTables(null, "HR", "%", t);
while(rs.next()){
System.out.print("目录名:"+rs.getString(1));
System.out.print(" 模式名:"+rs.getString(2));
System.out.print(" 表名:"+rs.getString(3));
System.out.print(" 表的类型:"+rs.getString(4));
System.out.println(" 注释:"+rs.getString(5));
}
System.out.println(" ");
rs = dbmd.getPrimaryKeys(null, "HR","EMPLOYEES");
while(rs.next()){
System.out.print("目录名:"+rs.getString(1));
System.out.print(" 模式名:"+rs.getString(2));
System.out.print(" 表名:"+rs.getString(3));
System.out.print(" 列名顺序号:"+rs.getString(4));
System.out.print(" 列名顺序号:"+rs.getString(5));
System.out.println(" 主键名:"+rs.getString(6));
}
System.out.println(" ");
rs = dbmd.getTableTypes();
System.out.println(" 表的类型有:");
while(rs.next())
System.out.print(" "+ rs.getString(1));
System.out.println();
System.out.println(" ");
rs = dbmd.getColumns(null, "HR", "EMPLOYEES", "%");
System.out.println(" 表名 "+" 列名 "+" 数据类型"+" 本地类型名"+" 列的大小"+ " 小数位数"+" 数据基数"+" 是否可空"+" 索引号");
while(rs.next()){
System.out.print(rs.getString(3)+" ");
System.out.print(rs.getString(4)+" ");
System.out.print(rs.getString(5)+" ");
System.out.print(rs.getString(6)+" ");
System.out.print(rs.getString(7)+" ");
System.out.print(rs.getString(9)+" ");
System.out.print(rs.getString(10)+" ");
System.out.print(rs.getString(11)+" ");
System.out.println(rs.getString(17)+" ");
}
System.out.println(" ");
rs = dbmd.getIndexInfo(null, "HR", "EMPLOYEES", false, false);
System.out.println(" 表名"+" 索引名"+" 索引类型"+" 索引列名"+" 索引顺序"+ " 小数位数"+" 数据基数"+" 是否可空"+" 索引号");
while(rs.next()){
System.out.print(rs.getString(3)+" ");
System.out.print(rs.getString(6)+" ");
System.out.print(rs.getString(7)+" ");
System.out.print(rs.getString(9)+" ");
System.out.println(rs.getString(10)+" ");
}
System.out.println(" ");
rs.close();
con.close();
}
catch(Exception e){System.out.println(e);}
new GetDBInfo();
}
}
- 使用DatabaseMetaDate获取数据库信息
- 使用DatabaseMetaDate获取数据库信息
- 数据库元数据(DatabaseMetaDate)
- 获取当前使用数据库信息
- 使用Ado.net获取数据库架构信息
- 使用Ado.net获取数据库架构信息
- 使用Ado.net获取数据库架构信息
- 使用Ado.net获取数据库架构信息
- 使用Ado.net获取数据库架构信息
- 使用Ado.net获取数据库架构信息
- 使用Java获取任意数据库的信息
- mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息
- 获取数据库表架购信息
- 获取数据库结构信息
- 获取数据库信息
- 获取数据库信息(二)
- 获取数据库服务器信息
- DatabaseMetaData获取数据库信息
- 今天出差去深圳验货
- 互联网周刊:软件骑士乔伊(ZT)
- 12部单身女人必看的电影(转载)
- TD-SCDMA
- "添加/删除程序"项无法打开解决方法
- 使用DatabaseMetaDate获取数据库信息
- 铁打的营盘流水的兵
- 银狐999的个人BLOG
- 我的BBS的雏形
- Windows 2003 全优化
- 6月8日*夜
- 模拟MFC和WTL对Windows窗口框架消息映射机制的封装代码
- 你了解“职业刻板印象”吗
- Rave结构