python - 如何使用 pyodbc 在另一台电脑上连接到 Microsft SQL Sever 2005?
问题描述
我正在尝试使用 pyodbc 模块从 Windows 10 连接到同一本地网络中另一台 PC 上的数据库。外部 pc 是 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()
但是当我运行上面的代码时,出现以下错误:
InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
解决方案
未找到数据源名称且未指定默认驱动程序
此错误消息表明连接字符串中指定的驱动程序未安装在客户端计算机上。在Win10机器上运行odbcad32.exe,点击驱动选项卡,查看已安装的ODBC驱动列表。
要进行补救,您可以更改连接字符串以使用已安装的 SQL Server ODBC 驱动程序,或从此处安装适用于 SQL Server 的 ODBC 驱动程序 11 。
请注意,Windows Server 2003 和 SQL Server 2005 已停止支持多年。最旧的支持 Windows 服务器版本是 2012,而 SQL 2012 是撰写本文时最旧的 SQL 版本。我建议您迁移到较新的版本。
推荐阅读
- javascript - intl-tel-input, getSelectedCountryData returning empty object
- javascript - Is it posible to render a 3D model in cesium with compressed textures? (DXT1)
- javascript - Zone.js click event cancels out 3rd tooltip party script event
- python - Kafka docker container doesn't respond to requests in network
- java - Not able use Grouping by in my class Java 8
- python - No module named 'Pandas'
- python - Why does Pandas Series `in` operate differently than every other data structure?
- bash - export: `/home/khawar/.bashrc': not a valid identifier bash: !!: command not found
- bash - Using bash and expect
- grafana - how to add search box on the table in grafana dashboard