Отображение только таблиц из MSSQL Server 2005 с использованием Java - PullRequest
0 голосов
/ 07 мая 2011

У меня проблема с получением имен таблиц из SQL Server 2005. Мне удалось получить имена таблиц, но проблема связана с отображением имен таблиц. Мне нужно, чтобы в раскрывающемся списке отображались только имена таблиц.

Мой код:

...
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
               "databaseName="somedb";username=sa;password=1234";
Connection con = null;
Statement st = null;
ResultSet rslt = null;

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

con = DriverManager.getConnection(connectionUrl);

DatabaseMetaData md = con.getMetaData();

ResultSet rrs = md.getTables(null, null, "%", null);

while (rrs.next()) 
{
     System.out.println(rrs.getString(3));
}

Здесь System.out.println(rrs.getString(3)); оператор печатает все имена таблиц, но вместе с именами представлений. Мне нужно избегать печати имен представлений. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 07 мая 2011

Есть две области:

1 / вы не ограничены на стороне Db для просмотра метаданных

2 / с помощью псевдонимов вернуть AliasName f.e. Выберите SomeColumNane, так как Count возвращает columnName Count

private ResultSetMetaData metaData; //variable
//intialize rslt("Select .....") and thenarter you can call from rstl
metaData = rslt.getMetaData();
//get Column Class (Varchar, Date, Double....)
String className = metaData.getColumnClassName(column + 1);// packed into try catch finally block
// get column count
int columnCount = metaData.getColumnCount();// packed into try catch finally block
//get Column Name
String columnName = metaData.getColumnName(column + 1);// packed into try catch finally block
0 голосов
/ 07 мая 2011

Вы можете запросить таблицы метаданных на сервере MSSQL. например select * from sysobjects, где xtype = 'u'; здесь xtype - тип объекта, а 'u' - объекты типа таблицы. Подробнее о синтаксисе см. в документации сервера MSSQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...