无法使用 pymssql 烧瓶连接到 ms sql 服务器
Posted
技术标签:
【中文标题】无法使用 pymssql 烧瓶连接到 ms sql 服务器【英文标题】:Can't connect to ms sql server using pymssql flask 【发布时间】:2015-08-14 03:46:05 【问题描述】:我有一个运行 Apache 的 ubuntu 服务器,我正在尝试连接到同一网络上的一个 sql 服务器。
当我在终端和import pymssql
andthen connect
中运行 python 时,连接没有问题,但是当我将相同的代码放入 init.py 时,它会在 conn=pymssql.connect
处停止运行线。有没有人对此有线索?
__init__.py
from flask import Flask, url_for, render_template
import pymssql
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, I love Digital Ocean!"
@app.route("/Reports")
def test():
conn=pymssql.connect(server='<fillinServer>', user='<fillinuser>', password='<fillinpassword>', database='<fillindatabase>')
print "1"
cursor=conn.cursor()
cursor.execute("SELECT TOP 1 * FROM testquery;")
print "2"
row=cursor.fetchone()
print "3"
t= row[1]
return render_template("test.html", test=t)
if __name__ == "__main__":
app.run(debug=True)
.WSGI
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/Reports/")
from ReportApp import app as application
application.secret_key = 'Add your secret key'
【问题讨论】:
日志中没有任何内容。内部错误 500。 其实重启apache后就是一直加载... 你发现问题了吗?我在这里遇到了确切的问题。 【参考方案1】:尝试直接从烧瓶中运行您的代码。
变化:
if __name__ == "__main__":
app.run(
host="0.0.0.0", #replace this with your ip
port=int("80"), #replace with your port
debug=True)
确保所有包和模块都正确安装在根/虚拟环境中。
sudo python app.py
如果您混合了制表符和 4 个空格,它会提醒您。清理/调试您的脚本并重新运行它。
如果脚本在网络浏览器中运行,则修复这些问题后,它可能正在执行您的命令。自从我连接到繁忙的 BI 服务器后,我的脚本花费了一段时间。
附言添加:
print("done")
所以你知道脚本已经正确执行了。
我可以告诉你它对我有用。
【讨论】:
以上是关于无法使用 pymssql 烧瓶连接到 ms sql 服务器的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 pyodbc/pymssql 和 Robot Framework 连接到 SQL\Express
Pymssql 无法连接到 Amazon Linux 2 上的 Azure SQL Server