精灵王
- 注册日期2010-12-08
- 发帖数640
- QQ
- 火币1103枚
- 粉丝120
- 关注75
|
阅读:3213回复:0
使用DatabaseMetaDate获取数据库信息-JSP教程,数据库相关
楼主#
更多
发布于:2010-12-15 12:49
| | | | 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(); } }
| | | | |
|