#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 я могу подключиться к БД.