在没有数据库客户端的情况下查看表接口和数据

前几天遇到一个问题,就是需要在linux下查看一个远程的数据库中的数据表结构和数据。而且由于网络策略的问题,还只能这台才能访问,好在这台机器上装了JDK,所以我想自己写一个简单数据表结构查看工具吧,其实很简单但是用的时候又比较急,具体代码如下,如果谁有更好的办法请留言。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;


public class ViewData {

	public static void main(String[] args) {
		Connection conn = null;  
		PreparedStatement stmt = null;  
        try { 
			Class.forName("oracle.jdbc.driver.OracleDriver");  
	        conn = DriverManager.getConnection(args[0], args[1], args[2]);
	        stmt = conn.prepareStatement("select * from " + args[3]);
	        ResultSet rs = stmt.executeQuery();
	        ResultSetMetaData rsd = rs.getMetaData(); 
	        int columnCount = rsd.getColumnCount();
	        System.out.println("【表结构:】");
	        for(int i = 0; i < columnCount; i++) { 
	        	System.out.print(rsd.getColumnClassName(i + 1) + "\t" + rsd.getColumnTypeName(i + 1) + "\t" + rsd.getColumnName(i + 1) + "\t" + rsd.getColumnDisplaySize(i + 1));
	        	System.out.println();
	        }
	        System.out.println("----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
	        System.out.println("【数据信息:】");
	        while(rs.next()) {
	        	for(int i=1; i<=columnCount; i++)
	        		System.out.print(rs.getObject(i) + "\t");
	        	System.out.println();
	        }
	        System.out.println("----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
        } catch (ClassNotFoundException e) { 
            e.printStackTrace();  
        } catch(SQLException e) {  
            e.printStackTrace();
        }finally {  
            try {  
                if(stmt != null)  
                    stmt.close();  
                if(conn != null)  
                    conn.close();  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
        }  
	}

}
上面的例子中我用的是Oracle数据库;

执行时需要有四个参数分别为:数据库URL,数据库用户名,数据库密码,需要查看的数据表的表名。

如果谁有更好的办法请留言,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值