Задать вопрос
@blackakcel

Как подключиться к базе данных ms sql?

Пытаюсь подключиться к БЗ через питон
import jaydebeapi
from jaydebeapi import Connection

server = '172...'
port = 1433..
database = 'T...'
username = 'c...'
password = 'A...'
readonly = 'applicationIntent=ReadOnly'

# Формирование JDBC URL
jdbc_url = f"jdbc:sqlserver://{server}:{port};database={database};user={username};password={password};{readonly}"

# Путь к файлу JDBC драйвера
jdbc_driver_jar = "mssql-jdbc-11.2.3.jre11.jar"

# Установка соединения
connection = jaydebeapi.connect(
    "com.microsoft.sqlserver.jdbc.SQLServerDriver",  # JDBC драйвер
    jdbc_url,  # JDBC URL
    [username, password],  # Имя пользователя и пароль
    jdbc_driver_jar,  # Путь к JDBC драйверу
)

#Получаю ошибку

<i>java.lang.UnsupportedClassVersionError: java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0</i>

Версия установленной java на компьютере 1.8.0.391, самая последняя.
Драйвер полностью такой, как показывается в настройках драйвера в Dbeaver

Работаю в jupyter lab
Библиотеки питона актуальны, установил сегодня.
Файл драйвера находится в среде разработки
  • Вопрос задан
  • 403 просмотра
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 4
xez
@xez
TL Junior Roo
Версия установленной java на компьютере 1.8.0.391, самая последняя.

Вообще-то "последняя" - это 21.0.1 на сегодняшний день

Вам нужна java 11+
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
скачиваешь _https://jetbrains.com/ru-ru/datagrip/
добавляешь
скачиваешь - он попросит - коннектор
подключаешься

если все ок - разьираешься со скриптом, не ок - с правами в базе

елси ок - смотришь какой JDBC он подтянул
Ответ написан
Daemon23RUS
@Daemon23RUS
Как бы в окружении юпитера не была "залочена" версия JAVA
Что в терминале юпитера покажет echo %JAVA_HOME% - ?
Там будет Java SE 8 она же (1.8.0.391)
Нужно сменить на Java SE 11 или выше
Ответ написан
@mumische
А официальный odbc driver и pyodbc чем не устраивает? ( https://learn.microsoft.com/en-us/sql/connect/pyth... )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы