Соединение JDBC зависает без ответа от SQL Server 2008 r2JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Соединение JDBC зависает без ответа от SQL Server 2008 r2

Сообщение Anonymous »

При подключении к SQL Server 2008 (локальный экспресс, полный сервер в производстве) у меня это работает нормально при разработке на локальном компьютере, но в производстве эта штука просто зависает.

Вот код:

Код: Выделить всё

package oata;

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

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import sun.applet.Main;

public class Sql {

public static final String SQLDRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
protected Connection conn = null;
private String ip = "";
private int port = 0;
private String databaseName = "";
private String db_userid = "";
private String db_password = "";

public void callDb(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{
System.out.println("Initialising variables");
ip = args[0];
port =  Integer.parseInt(args[1]);
databaseName = args[2];
db_userid = args[3];
db_password = args[4];
try{
Log logger = LogFactory.getLog(Main.class);
System.out.println("Opening logger...");
logger.debug("opening driver " + SQLDRIVER);
System.out.println("Creating connection instance...");
Class.forName(SQLDRIVER).newInstance();
System.out.println("Driver Manager.getConnection...");
conn = DriverManager.getConnection(getDBURL(), db_userid, db_password);
System.out.println("Connection prepare statement...");
PreparedStatement ps = conn.prepareStatement("select * from nstupersonal");
System.out.println("Executing query...");
ResultSet rs = ps.executeQuery();
while(rs.next()){
System.out.println(rs.getString("StudentId"));
}
}catch(Exception e){
System.out.println(e.getMessage());
}

conn.close();
}

private String getDBURL(){
String url = "";
try {
url = "jdbc:sqlserver://" + ip
+":" + port +";databaseName="+
databaseName + ";user=" + db_userid + ";password="+db_password;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return url;
}

}
Это код, который запускается. В консоли он буквально просто висит в продакшене. Кажется, что он всегда зависает на SQL Server 2008, но у всех остальных моих клиентов он работает нормально. Запускается просто с...

TCP/IP включен на 1433 в SQL Server, а для разрешения удаленных подключений установлено значение true в консоли управления.

java -jar ipaddress порт имя_базы пароль пользователя

Есть идеи? Драйвер SQL неправильный? Я использую sqljdbc4.jar

Результирующая командная строка...

Инициализация переменных
Открытие журнала...
Driver Manager.getConnection...

Исключения не создаются

Спасибо,

D

Подробнее здесь: https://stackoverflow.com/questions/898 ... er-2008-r2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»