powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Приложение использует JDBC driver для соединения с MS SQL 2005. Ошибка выполнения запроса.
5 сообщений из 5, страница 1 из 1
Приложение использует JDBC driver для соединения с MS SQL 2005. Ошибка выполнения запроса.
    #34917522
Shovkoviy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приложение соединяется с MSSQL 2005 с помощью JDBC драйвера (sqljdbc.jar).
Код: plaintext
1.
2.
3.
4.
String url = "jdbc:sqlserver://localhost:1433;databaseName=test";
 try  
{     Class .forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}  catch (Exception e) {....}

Пример кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Statement stmt = getConnection().createStatement();
String query = "SELECT Value As [description] FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'Person', NULL, NULL)";
ResultSet rs = stmt.executeQuery(query);
 try 
{    while  (rs.next())
    {
        String restult = rs.getString( 1 );
	....
    }
}
 catch  (Throwable se) { }

rs.close();
stmt.close();
Запрос
String query = "SELECT Value As [description] FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'Person', NULL, NULL)"
без проблем выполняется в MSSQL 2005, но когда этот запрос выполняю в коде приложения, вываливается ошибка:
Exception: [MBI_JDBC_E0004] Microsoft SQL Server raised an SQL Exception (The "variant" data type is not supported.ErrorCode(0) SQLState(08S01))

Пробую запустить приложение с простым запросом типа:
String query = "SELECT * FROM Person"
работает без пробем!!!

Подскажите в чем может быть проблема?
...
Рейтинг: 0 / 0
Приложение использует JDBC driver для соединения с MS SQL 2005. Ошибка выполнения запроса.
    #34917565
Jartisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что такое ::
перед fn_listextendedproperty?
...
Рейтинг: 0 / 0
Приложение использует JDBC driver для соединения с MS SQL 2005. Ошибка выполнения запроса.
    #34917684
Фотография Софтверный проктолог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M$ никогда не утруждала себя полноценной поддержкой фич своей СУБД в JDBC драйверах.
Попробуйте другой драйвер.
...
Рейтинг: 0 / 0
Приложение использует JDBC driver для соединения с MS SQL 2005. Ошибка выполнения запроса.
    #34920055
Shovkoviy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помог jTDS драйвер jTDS .
Спасибо за помощь.
Код: plaintext
1.
2.
3.
4.
String url = "jdbc:jtds:sqlserver://localhost:3433/test";
 try  
{     Class .forName("net.sourceforge.jtds.jdbc.Driver");
}  catch (Exception e) {....}
...
Рейтинг: 0 / 0
Приложение использует JDBC driver для соединения с MS SQL 2005. Ошибка выполнения запроса.
    #34920592
Shovkoviy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно кому понадобится, оказалось можно решить и с помощью Microsoft JDBC driver.
Для этого немного изменить запрос.
Пример получения описания колонок таблицы для MSSQL Server 2005:
Код: plaintext
1.
SELECT CAST ( value AS varchar(max) ) as description FROM ::fn_listextendedproperty ( NULL , 'user', 'dbo', 'table', 'Ваша таблица', 'column',  NULL )
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Приложение использует JDBC driver для соединения с MS SQL 2005. Ошибка выполнения запроса.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]