SQL连接适用于VBA但不适用于Python

时间:2014-08-01 00:54:04

标签: python sql vba

我在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)")

我做错了什么?

1 个答案:

答案 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'