#python #sql-server #database #pyodbc
#python #sql-сервер #База данных #pyodbc
Вопрос:
Я пытаюсь подключиться к базе данных с Windows 10, которая находится на другом компьютере в той же локальной сети, используя модуль pyodbc. Внешний компьютер представляет собой Windows Server 2003 и имеет базу данных Microsoft SQL Server 2005. Я не уверен, какой должна быть строка подключения, я пробовал со следующим кодом:
import pyodbc
DRIVER = "{ODBC Driver 11 for SQL Server}" # supports SQL Server 2005 through 2014
SERVER = "192.168.100.101" # the ip of the windows server 2003
PORT = "1433" # I am not sure if this parameter is needed
DATABASE = "database_name" # name of the database
USER = "user"
PASS = "psw"
string_connection = f"DRIVER={DRIVER};SERVER={SERVER};PORT={PORT};DATABASE={DATABASE};UID={USER};PWD={PASS}"
cnxn = pyodbc.connect(string_connection)
cursor = cnxn.cursor()
cursor.close()
cnxn.close()
Но когда я запускаю приведенный выше код, я получаю следующую ошибку:
Ошибка интерфейса: (‘IM002’, ‘[IM002] [Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено, и драйвер по умолчанию не указан (0) (SQLDriverConnect)’)
Комментарии:
1. Установлен ли этот драйвер ODBC? Выполнить odbcad32.exe и перейдите на вкладку драйверы для проверки.
2. На компьютере с Windows 10 или на компьютере с Windows Server 2003?
3. Окно клиента Windows 10.
4. Он не установлен, у него есть SQL Server и собственный клиент SQL Server 10.0…
5. Вероятно, вы можете просто использовать вместо этого собственный клиентский драйвер. Это драйвер ODBC 11 для загрузки SQL Server .
Ответ №1:
Имя источника данных не найдено, и драйвер по умолчанию не указан
Это сообщение об ошибке указывает на то, что драйвер, указанный в строке подключения, не установлен на клиентском компьютере. Выполнить odbcad32.exe на компьютере Win10 и перейдите на вкладку драйверы, чтобы просмотреть список установленных драйверов ODBC.
Для исправления можно либо изменить строку подключения, чтобы использовать уже установленный драйвер ODBC SQL Server, либо установить драйвер ODBC 11 для SQL Server отсюда.
Имейте в виду, что Windows Server 2003 и SQL Server 2005 не поддерживаются уже несколько лет. Самая старая версия Windows Server для поддержки — 2012, а SQL 2012 — самая старая версия SQL на момент написания этой статьи. Я предлагаю вам перейти на более новые версии.