powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Прблема с jdbc+mssql
10 сообщений из 10, страница 1 из 1
Прблема с jdbc+mssql
    #34535131
Zhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Помогите, пожалуйста, разобраться со следующей проблемой. Создаю jsp-страничку с нижеприведенным кодом, вызываю ее 10000 раз - в результате примерно 30% запросов возращают HTTP-статус 500. В чем может быть дело? Заранее спасибо!

С уважением,
Евгений

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<%@ page  import ="java.sql.*"%>
<%
	 try {
		 Class .forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
	}  catch  (Exception ex) {
		out.println(ex.toString());
	}

	Connection conn =  null ;

	 try {
		conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://base:1433;databasename=TEST;user=xxx;password=xxx");
	} catch  (SQLException ex){
		out.println(ex.toString());
	}

	out.println("test");

	conn.close();
	conn =  null ;
%>
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34535237
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотри логи, телепаты в отпуске! Может превышено количество физических соединений, может ещё чего. Налицо не понимание JDBC и принципов работы с БД.
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34535503
Zhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том то и дело, что web-сервер выдает нижеприведенное, а логи mssql посмотреть нереально. Это могут быть какие-то ограничения mssql?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
[ 2007 / 05 / 18   12 : 54 : 04 ]  null 
java.lang.NullPointerException
	at _test__jsp._jspService(_test__jsp.java: 49 )
	at com.caucho.jsp.JavaPage.service(JavaPage.java: 75 )
	at com.caucho.jsp.Page.subservice(Page.java: 506 )
	at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java: 182 )
	at com.caucho.server.http.Invocation.service(Invocation.java: 315 )
	at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java: 135 )
	at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java: 253 )
	at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java: 170 )
	at com.caucho.server.TcpConnection.run(TcpConnection.java: 139 )
	at java.lang.Thread.run(Thread.java: 595 )
[ 2007 / 05 / 18   13 : 17 : 00 ] _test__jsp: destroy
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34535556
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и фигли тут думать?
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://base:1433;databasename=TEST;user=xxx;password=xxx");
Обрыгивается по какой-либо причние, наприемр привышение лимита физических соединений, как я написал выше. В результате присование переменно conn не происходит и она все ещё null.
Поэтому ниже conn.close() выкидывает NPE.

Я просто не понимаю зачем надо было сразу на JSP/JDBC хвататся, рекомендую для начала просто общее программирование подтянуть. И нагуглировать пару адекватных примеров работы с БД из Java.
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34535714
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компилируй. Запускай как консольное приложение. И говори что видно на экране.

Zhs_test_connect.java
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 import  ...добавь необходимое...;

 public   class  Zhs_test_connect{

 public   static   void  main(String[] args)  throws  Exception{

 try {
		 Class .forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
	}  catch  (Exception ex) {
		System.out.println(ex.toString());
	}

	Connection conn =  null ;

	 try {
		System.conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://base:1433;databasename=TEST;user=xxx;password=xxx");
	} catch  (SQLException ex){
		System.out.println(ex.toString());
	}

	System.out.println("test");

	conn.close();
	conn =  null ;

}

}
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34535895
Zhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу и фигли тут думать?
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://base:1433;databasename=TEST;user=xxx;password=xxx");
Обрыгивается по какой-либо причние, наприемр привышение лимита физических соединений, как я написал выше. В результате присование переменно conn не происходит и она все ещё null.
Поэтому ниже conn.close() выкидывает NPE.


Это то понятно, что не создается соединение. Но как выяснить - все же это проблема mssql, web-сервера, моего приложения? Как ограничить кол-во этих физ. соединений? Пробовaл autoReconnect=true - проблемы не решает.... Хотя вроде и должен физ. соединения закрыть....

maytonКомпилируй. Запускай как консольное приложение. И говори что видно на экране.


Откомпилировал... Заменив, правда System.conn на conn. Как и должно, выдает "test"....
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34535975
vas0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zhs
maytonКомпилируй. Запускай как консольное приложение. И говори что видно на экране.


Откомпилировал... Заменив, правда System.conn на conn. Как и должно, выдает "test"....
нет это не поможет, ты же говоришь что надо 10000 раз запускать, так что нужно потоки создавать, чтобы ситуацию воспроизвести

Кол-во физичиских соединений настраивается у MS Server через как там его "Enterprise Manager" или где-то там еще.
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34535999
Zhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по всему это проблема, описанная в http://]support.microsoft.com/kb/827422/ru в разделе "Устранение неполадок, связанных с сильной нагрузкой на сокеты TCP/IP"

Может кто знает, как это можно обойти программно?
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34536248
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно это обходят через Connection Pool.
...
Рейтинг: 0 / 0
Прблема с jdbc+mssql
    #34539850
Zhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, обошел ))
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Прблема с jdbc+mssql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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