pythonanywhereのAzureでホストされているMSSQLサーバーにpymssql
で接続できませんでした。 私は以前のLinuxの経験がないので、それは必要以上に困難になっています。pythonanywhereのLinuxクラウド上のAzure mssqlへのpymssql接続のトラブルシューティング
私は命令で提供されるこのサンプルスクリプトしようとしています:
host = "123.456.789.012"
username = "yourusername"
password = "yourpassword"
database = "yourdatabasename"
conn = pymssql.connect(host, username, password, database)
cursor = conn.cursor()
をしかし、私はこのエラーを取得する:
Traceback (most recent call last):
File "pymssql.pyx", line 635, in pymssql.connect (pymssql.c:10734)
File "_mssql.pyx", line 1902, in _mssql.connect (_mssql.c:21821)
File "_mssql.pyx", line 637, in _mssql.MSSQLConnection.__init__ (_mssql.c:6581)
File "_mssql.pyx", line 1630, in _mssql.maybe_raise_MSSQLDatabaseException (_mssql.c:17524)
_mssql.MSSQLDatabaseException: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (my_server_name.database.windows.net:1433)\n')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pymssql.pyx", line 641, in pymssql.connect (pymssql.c:10824)
pymssql.OperationalError: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (my_server_name.database.windows.net:1433)\n')
私は、それは私が実行しているTDSバージョンとしなければならなかった考え出しました私はtsql -C
をbashで動かすことによって4.2
になる。ここで出力されます:
Compile-time settings (established with the "configure" script)
Version: freetds v0.91
freetds.conf directory: /etc/freetds
MS db-lib source compatibility: no
Sybase binary compatibility: yes
Thread safety: yes
iconv library: yes
TDS version: 4.2
iODBC: no
unixodbc: yes
SSPI "trusted" logins: no
Kerberos: yes
私はhome/myuser/
でかつhome/myuser/my_virtual_env/
で両方.freetds.conf
ファイルを配置しようとしているが、それはすべての動作を変更しませんでした。 bashコンソールまたはpythonコンソールを再起動する必要がありますか?そうは思わなかった。ここでは、ファイルの内容は次のとおりです。
[global]
tds version = 7.1
[azure]
tds version = 7.4
他の代替はpyodbcを使用することですが、それはまた、FreeTDS系の構成は含まして、いくつかのより多くの、そうそこにいたことに何もないように見えます。すべてのWebアドレスへのアクセスを許可していませんPythonAnywhreで
arguments = dict(server=db_server_add, user=db_usn+"@my_server",
password=db_pswd, database=db_name, charset="utf8")
AZURE_ENGINE = create_engine('mssql+pymssql:///', connect_args=arguments)
check-を倍増するための簡単な事は、あなたは無料のユーザーですか? PythonAnywhereは、フリーユーザーが任意の外部インターネット接続を行うことを許可していません。彼らは無料のユーザーのためのホワイトリストを持っています。 – conrad
@conrad、いいえ、私はサービスのための感じを得るために、最低の階層にサインしました。私はサイト上で利用可能なすべての指示を試しました。 – mvbentes
アップグレード後にコンソールを再起動しましたか? – hwjp