首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

获取了连接conn,怎么获取这个连接下数据库中所有表的名字

2012-02-21 
获取了连接conn,如何获取这个连接下数据库中所有表的名字?获取了连接conn,如何获取这个连接下数据库中所有

获取了连接conn,如何获取这个连接下数据库中所有表的名字?
获取了连接conn,如何获取这个连接下数据库中所有表的名字?我的连接支持mssql,oracle,db2,mysql,sysbase。

代码示例,sql示例都可以,我在网上没有搜索到相关具体的信息,说的都是方向之类的,没有具体的示例,大家帮忙解决下。

[解决办法]
select name from sysobjects where xtype='U'?
[解决办法]

SQL code
rch_Answertest1userTb_Outputstt2abgztamsitemtt3
[解决办法]
select * from information_schema.columns where table_name='表名'

跟这个差不多吧,我再去找找!
[解决办法]
sql server:
SQL code
select name from sysobjects where xtype='U'
[解决办法]
Set Recordset = Conn.Execute("SELECT * FROM sysobjects WHERE xtype='U'")
[解决办法]
从schema信息里读也可以.
[解决办法]
select name from sysobjects where xtype='U'? 这个好像是mssql的,oracle的不支持!
[解决办法]
select name from sysobjects where type='U'
[解决办法]
oracle的: 

获取所有用户表:
SELECT TABLE_NAME FROM USER_ALL_TABLES;
获取所有表(包括系统)
SELECT TABLE_NAME FROM ALL_ALL_TABLES;

在网上查的。嘻嘻!
[解决办法]
别的没有数据库,不好实践,就算啦!
[解决办法]
select table_name from information_schema.tables where table_type='base table'
[解决办法]
如果支持多种数据库的话,可以考虑利用jdbc来帮助解决,这样可以屏蔽掉很多的具体数据库细节。
Java code
    /**     * 简要的显示一下     * */    public void showTables(){        Connection conn = null;        ResultSet rst = null;        DatabaseMetaData dbmd = null;        String[] types = {"TABLE"}; // 类型:表        try{            conn = ConnectionFactory.getConnection(); // 不同数据库返回不同的Connection            dbmd = conn.getMetaData();            // String catalog,String schemaPattern,String tableParten,String[] types            // null 代表所有            rst = dbmd.getTables(null,null ,null , types);            while(rst.next()){                System.out.println(rst.getString("TABLE_NAME"));            }                }catch(SQLException sqle){            sqle.printStackTrace();        }    }
[解决办法]
conn = ConnectionFactory.getConnection(); // 不同数据库返回不同的Connection

中的ConnectionFactory从哪里来?
[解决办法]
ConnectionFactory是哪个jar包的类?
[解决办法]
Java code
package test;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import com.developercreations.cranium.das.DCDataArchiveSystem;public class Test {    public static void main(String args[]){                    String JDBC_DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";         String DATABASE_URL = "jdbc:microsoft:sqlserver://192.168.2.14:1433";         Connection connection;         Statement statement;                 try {             Class.forName(JDBC_DRIVER);             connection= DriverManager.getConnection(DATABASE_URL,"sa","dc9rulez");             statement=connection.createStatement();            //String sql2="select db_name()   as   databasename ";            //DatabaseMetaData   md=connection.getMetaData();              //ResultSet   rs=statement.executeQuery(sql2);             // String s=md.getURL();            //System.out.println("s:"+s);            DatabaseMetaData dbmd=connection.getMetaData();            String[] types={"TABLE"};                        ResultSet rs1=dbmd.getTables(null,null,"spt_monitor",types);                      while(rs1.next())  {                    System.out.println("rs.getString(1)   =   "   +   rs1.getString(1)+" "+rs1.getString(2)+" "+rs1.getString(3));            }            System.out.println("\n\n");                          //ResultSet rs=statement.executeQuery("select DAS_Blob_FILE_CONTENT from "+"\""+"dcImaging"+"\""+"."+"\""+"dbo"+"\""+".TABLE_DAS_Blob where "+"\""+"DAS_INT_FILE_SIZE"+"\""+"=111");              String[] types2={"TABLE"};                                    ResultSet rs2=dbmd.getColumns(null, null, "TABLE_dc_abl_types", null);                        while(rs2.next()){                 System.out.println(rs2.getString(1)+" "+rs2.getString(2)+" "+rs2.getString(3)+" "+rs2.getString(4)+"       "+rs2.getString(6));                       }                    }catch(Exception e){            e.printStackTrace();        }    }} 


[解决办法]

SQL code
--所有的表名select name from sysobjects where xtype='U' order by name--或--所有的表名select table_name from information_schema.tables order by table_name 

热点排行