使用SQLAlchemy抛出错误类型08001连接到MSSQL DB

时间:2013-09-24 12:23:00

标签: python sql sql-server sqlalchemy pyodbc

我有这段代码:

from sqlalchemy.engine import create_engine
engine = create_engine('mssql+pyodbc://sa:Passw0rd@172.19.201.75/master.db', echo=True)
connection = engine.connect()
connection.execute(
    """
    CREATE TABLE users (
        username VARCHAR PRIMARY KEY,
        password VARCHAR NOT NULL
    );
    """
)
connection.execute(
    """
    INSERT INTO users (username, password) VALUES (?, ?);
    """,
    "foo", "bar"
    )
result = connection.execute("SELECT username FROM users")
for row in result:
    print "username:", row['username']
connection.close()

我收到了这个错误:

  

sqlalchemy.exc.DBAPIError :(错误)('08001','[08001] [Microsoft] [ODBC   SQL Server驱动程序] [DBNETLIB] SQL Server不存在或访问   否认。 (17)(SQLDriverConnect); [01000] [Microsoft] [ODBC SQL Server   驱动程序] [DBNETLIB] ConnectionOpen(Connect())。 (53)')无无

我在我的数据库上运行了这个查询

select db_name()

得到了这个O / P

1. master

有人可以解释我的逻辑中有什么问题吗?

1 个答案:

答案 0 :(得分:0)

我发现了问题,服务器上的防火墙拒绝了我的连接。我禁用防火墙来检查连接,我得到了连接。我要在防火墙规则中例外,以允许连接到SQL Server TCP / IP端口。

可以参考此链接了解执行此操作的步骤http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx