2017-01-12 1 views
0

Я не могу подключиться к серверу sql, получив следующую ошибку.Подключение к SQL Server приводит к ошибке «Драйвер получил неожиданный ответ перед входом»

исключение com.microsoft.sqlserver.jdbc.SQLServerException: TCP/IP-соединение хосту SSALES, порт 1433 не выполнен. Ошибка: «Драйвер получил notex cted запрос перед входом в систему. Проверьте свойства подключения и убедитесь, что на хосте выполняется хост instance SQL Server и принимает соединения TCP/IP на порту . Этот драйвер может быть используется только с SQL Server 2000 или более поздней. ".

мой местный окружающей среды: -

Java 5, SQL Server Enterprise Manager версии 8,

RunApp.java

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
conn = java.sql.DriverManager.getConnection("jdbc:sqlserver://abc;d‌​atabaseName={db};use‌​r=name;password=pass‌​worf;"); 
Statement stmt=conn.createStatement(); 
ResultSet rs=stmt.executeQuery("SELECT * FROM testdb.testtabel where active = 'a'"); 

проходит через CMD:

set path="C:\Program Files\Java\jdk5\bin"; 

javac -classpath "D:\Web Development\ABC\lib\mail-1.4.3.jar;D:\Web Development\ABC\lib\json-simple.jar;D:\Web Development\ABC\lib\sqljdbc.jar;" com\test\RunApp.java 

java -classpath "D:\Web Development\ABC\lib\mail-1.4.3.jar;D:\Web Development\ABC\lib\json-simple.jar;D:\Web Development\ABC\lib\sqljdbc.jar;" com.test.RunApp 
+0

Привет. Вы уверены, что активировали на SQL Server TCP? .. вы должны проверить его в инструментах SqlServer –

+0

Какую версию драйвера JDBC для SQL Server вы используете, вам может потребоваться обновление. –

+0

@MarkRotteveel: мы используем SQL Server Enterprise Manager 8.0 и с помощью java 5 с jdbc 3.0 – chethan

ответ

1

Ваш URL неправильно (см Building the Connection URL), она должна быть (обратите внимание на использование сбежавшего обратной косой черты, а не прямой слэш):

"jdbc:sqlserver://localhost\\SQLEXPRESS;databaseName={db};user=MyUserName;password=MyPassword;" 

Также убедитесь, что {db} заменяется фактическим именем база данных.

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

В противном случае вам нужно будет удалить имя экземпляра из URL-адреса и вместо этого указать правильный номер порта в URL-адресе JDBC (обычно 1433, но это может зависеть от конфигурации: двойная проверка).

+0

conn = java.sql.DriverManager.getConnection ("jdbc: sqlserver: // abc; databaseName = {db}; user = name; password = passworf;"); вот как выглядит мой url – chethan

+0

@chethan Не по вашему вопросу ... Предлагаю вам отредактировать свой вопрос с фактической информацией (например, ваше сообщение об исключении также не соответствует информации, предоставленной в вашем вопросе или в этом комментарии). –

+0

Обновлен вопрос – chethan

Смежные вопросы