2014-02-13 4 views
0

Я пробовал много способов решить мою проблему, ни одна из них не работала, поэтому здесь у меня вопрос. Я создал локальную базу данных с SQL Server Management Studio. Это имя CallCenter, я создал для него учетную запись пользователя, предоставил все привилегии, и я могу войти в БД вместе с ним, в студии Managemenet, здесь все прекрасно.Java JDBC не может подключиться к серверу MSSQL

Теперь я использую NetBeans для создания соединения. Я загрузил драйвер Microsoft JDBC, настроил все, JDBC, похоже, работает нормально. Проблема в том, что он не может подключиться к базе данных. Я установил параметры входа в систему как для Windows & SQL. Я попытался войти в систему со встроенной безопасностью (учетная запись Windows), а также созданная (и работающая) учетная запись пользователя SQL.

Ни один из них не работал, я получаю это исключение:

com.microsoft.sqlserver.jdbc.SQLServerException: Логин Сбой пользователя 'админ'. ClientConnectionId: 1ce0b951-5ecb-49b4-a4d0-ff4a96af4ed2 на com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError (SQLServerException.java:216) ......

Вот код:

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

public class Try { 

    public static void main(String[] args) { 
     try { 
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
      String url="jdbc:sqlserver://localhost:1434;databaseName=CallCenter;integratedSecurity=true;"; 
      Connection conn = DriverManager.getConnection(url);   
     } catch (ClassNotFoundException e) { 
      System.err.println("SQL Driver class does not exist!"); 
     } catch (SQLException ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

Я просматривал интернет в течение нескольких часов, пробовал много решений, но никто из них не разрешил эту проблему для меня. Пожалуйста, помогите мне!

+0

проверка учетных данных имя пользователя/пароль – Kick

+2

вообще здесь 'сопп Connection = DriverManager.getConnection (URL); 'в основном используются 2 других параметра - user + password -' Connection conn = DriverManager.getConnection (url, user, pass); ' –

ответ

2

Исключение почти все говорит - проверьте свои учетные данные (которые вы, очевидно, не дали) с базой данных.

2

Ошибка Login failed for user 'admin', которую вы получаете, - это четкая индикация
о том, что ваш запрос на вход достиг SQL-сервера, но ваши учетные данные неверны.
Таким образом, либо ваше имя пользователя, либо ваш пароль неправильный, или, может быть, этот логин не
настроен для удаленного входа на SQL-сервер. Проверьте конфигурацию на сервере.

+0

Ну, я определенно получаю имя пользователя и пароль правильно, как я уже сказал, он работает, когда я вхожу из студия. Я дважды проверил их, они совпадают. В Studio я щелкнул правой кнопкой мыши мой сервер и дал все разрешения пользователю admin. Все еще не работает.Где я могу настроить эту удаленную учетную запись? Возможно, есть другие идеи? Спасибо за помощь ребята! –

+0

Он работает, когда вы входите в студию с того же компьютера, на котором вы запускаете Java-код? –

+0

Да, это та же машина! –

0

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

Когда у вас есть integratedSecurity=True, read this, чтобы узнать больше о том, что это значит. Он использует ваши учетные данные для входа в систему (с SQL Server). Итак, сделайте это false и предоставите учетные данные для БД.

Для справки read this

[EDIT]

Попробуйте использовать это вместо integratedSecurity.

: JDBC SQLServer: //HOSP_SQL1.company.com; пользователь = имя; пароль = АБВГДЕЖ; базы данных = Test

+0

Да, я попробовал это, как я уже сказал, я просто скопировал версию IntegratedSecurity. Тем не менее это не сработало. –

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