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();
}
}
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!


