我在VBA中有一个代码从SQL服务器读入,其参数设置如下。
Global Const my_db = "Driver={SQL Server};Server=my_server;Initial Catalog=my_catalog;UID=user;PWD=opensesame;"
但是,转换为Python本身并不适用于我:
import _mysql
db=_mysql.connect(host="my_server",user="user",passwd="opensesame",db="my_db")
我收到的错误是
Traceback (most recent call last):
File ".\db_test.py", line 6, in <module>
db=_mysql.connect(host="my_server",user="user",passwd="opensesame",db="my_db")
File "C:\python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'my_server' (10061)")
我做错了什么?
答案 0 :(得分:4)
您的SQL服务器是MS SQL服务器。您的VBA脚本连接到端口1433上的SQL Server。 Python脚本试图在端口3306(MySQL的默认端口)上连接到MySQL服务器。
试试这个:
导入pyodbc
cnxn = pyodbc.connect('DRIVER = {SQL Server}; SERVER = my_server;初始目录= my_catalog; UID =用户; PWD = opensesame'