Я пытаюсь использовать DriverManager.getConnection()
для подключения к базе данных SQL Server из приложения Java, но я продолжаю получать ошибки «Ошибка входа для пользователя». Я пытался использовать как com.microsoft.sqlserver.jdbc.SQLServerDriver
, так и net.sourceforge.jtds.jdbc.Driver
для подключения, но оба продолжают сталкиваться с проблемой.
Вот код, который я использую для подключения:
Class.forName("net.sourceforge.jtds.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:jtds:sqlserver://SERVERADDRESS:1433;DatabaseName=DBNAME;user=USER;password=PASS");
Я знаю, что у этой учетной записи есть доступ к этой БД, так как я подключался к ней раньше из приложения Python, используя pymssql.connect(SERVERADDRESS, USER, PASS, DBNAME)
с тем же сервером/БД/кредитами.
Из этой статьи я в конце концов удалось заставить его работать, используя проверку подлинности Windows с моей личной учетной записью, но я все еще не могу заставить его работать, используя нашу учетную запись службы. Кто-нибудь знает, почему приложение Python может подключаться, а приложение Java - нет?
DOMAINNAME\USERNAME
? Другими словами, является ли учетная запись службы учетной записью Windows, а не именем для входа в систему проверки подлинности SQL Server? - person Gord Thompson   schedule 01.09.2017domain\\svc_account
. Я делаю то же самое в строке подключения в Java. Итак, строка подключения"jdbc:jtds:sqlserver://SERVERADDRESS:1433;DatabaseName=DBNAME;user=domain\\svc_account;password=PASS"
- person C. Russell   schedule 01.09.2017