我有这个代码:
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