Подключение к базе данных MS SQL с использованием проверки подлинности Windows с использованием скрипта JAYDEBEAPI python

#python #sql-server #python-3.x #jaydebeapi

#python #sql-сервер #python-3.x #jaydebeapi

Вопрос:

Я пытаюсь подключиться к SQL Server с помощью jaydebeapi на python, но каждый раз получаю одну и ту же ошибку:

java.sql.SQLException: java.sql.SQLException: Ошибка ввода-вывода: сервер БД закрыл соединение.

Я знаю, что это старый вопрос, но с тем же кодом я могу подключаться к другим базам данных SQL Server, но теперь, когда я пытаюсь подключить один другой SQL Server, я получаю указанную ошибку. Кто-нибудь может сказать мне, в чем может быть причина. Вот мой код:

 import jaydebeapi

jarName = "jtds-1.3.1-dist/jtds-1.3.1.jar"

driver = "net.sourceforge.jtds.jdbc.Driver"

server = "server"

db_name = "dbname"

host = "host"

jdbcString = """jdbc:jtds:sqlserver://{0};databaseName={1};integratedSecurity=true;useNTLMv2=true;domain={2}""".format(server,db_name,host)

print(jdbcString)

sql_db_conn = jaydebeapi.connect(driver, jdbcString, ['username', 'password'], jarName)

if sql_db_conn:
  print(sql_db_conn)
else:
  print("not connected")
  

Комментарии:

1. Вы уверены, что можете подключаться к другим серверам с помощью этого же кода? Обычно вы можете подключиться, используя встроенную защиту (проверка подлинности Windows), или вы можете подключиться с помощью имени пользователя пароля (SQL Login), но вы не можете смешивать их вместе.

2. да @AlwaysLearning у меня также есть другая база данных ms sql, и с помощью этой аутентификации Windows я могу подключиться к БД.