使用 SQLAlchemy 引发错误类型 08001 连接到 MSSQL DB



我有这个代码:

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 Driver][DBNETLIB]SQL Server 不存在或访问 否认。(17( (SQLDriverConnect(;[01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect(((.(53('( 无 无

我在数据库上运行了此查询

select db_name()

并得到了这个O/P

1. master

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

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

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

最新更新