1

私はこのコードを持っています:

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: (Error) ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [ Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (53)') なし なし

DBでこのクエリを実行しました

select db_name()

そしてこのO/Pを手に入れました

1. master

誰かが私の論理で何が間違っているのか説明できますか?

4

1 に答える 1

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

于 2013-09-25T05:52:51.953 に答える