Я пытаюсь подключить свой код Java к базе данных Microsoft SQL Server 2008 R2 Express.Я скачал драйвер JDBC 3.0 для Microsoft SQL Server и добавил файл sqljdbc4.jar в мой путь к классам.Я использую Netbeans и включил в свой проект файл sqljdbc4.jar.
Я создал базу данных в SQL Server Management Studio под названием TestDB1 и добавил некоторые столбцы и значения, которые я буду использовать для тестирования.Я перешел из режима аутентификации Windows, щелкнув правой кнопкой мыши на сервере JACOB = PC \ SQLEXPRESS-> Properties-> Secuity и изменив режим аутентификации Windows на SQL Server и режим аутентификации Windows.
Затем я создал новую учетную запись, щелкнув правой кнопкой мыши папку «Логин» в проводнике окон в разделе «JACOB-PC / SQLEXPRESS-> Папка Secuity-> Папка входа в систему» и добавил новую учетную запись.Я дал ему имя jhaip2, переключился на аутентификацию SQL Server и установил пароль к jacob.Принудительная политика паролей и принудительное истечение срока действия пароля не проверяются.База данных по умолчанию установлена в TestDB1.Затем в TestDB1-> Secuity-> Users-> jhaip2-> членство в роли базы данных я установил для jhaip2 значение db_owner (без этого я не мог войти в базу данных в студии управления, вероятно, не правильно?).Затем я перезапустил сервер.
Теперь для моего java-кода это в основном прямая копия примера кода драйвера JDBC 3.0, за исключением проверки подлинности Windows.
package databasetest1;
import java.sql.*;
public class connectURL {
public static void main(String[] args) {
// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "databaseName=TestDB1;";
// Declare the JDBC objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
// Establish the connection.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("Driver okay");
con = DriverManager.getConnection(connectionUrl,"jhaip2","jacob");
System.out.println("Connection Made");
}
// Handle any errors that may have occurred.
catch (Exception e) {
e.printStackTrace();
}
finally {
if (rs != null) try { rs.close(); } catch(Exception e) {}
if (stmt != null) try { stmt.close(); } catch(Exception e) {}
if (con != null) try { con.close(); } catch(Exception e) {}
}
}
}
Когда я запускаю, онвыводит «Драйвер в порядке», поэтому я предполагаю, что мой драйвер настроен правильно.Затем выводится ошибка:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'jhaip2'.
Неважно, какое имя пользователя я использую, всегда происходит сбой.У меня такое чувство, что я неправильно настраиваю пользователя.Если бы кто-нибудь мог дать мне некоторую помощь о том, как правильно настроить пользователя или какие-либо рекомендации о том, как просто подключиться к базе данных SQL Server на Java, я был бы признателен.