更新:我已经确认这只是在使用azuresql实例时出现的问题。我可以使用相同的conn字符串连接到本地、网络和远程SQL(AWS)实例-只有在连接到Azure时才会失败。我可以使用其他工具(如managementstudio)连接到Azure实例。在
我正在构建一个小Python(3.4.x)/Flask应用程序。我在这里完全是个无名小卒,所以如果我在发帖时违反了任何规则,请原谅我。在
我创建了数据库引擎:
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('mssql+pymssql://dbadmin:dbadminpass@somedomain.server.net/databasename?charset=utf8')
db_session = scoped_session(sessionmaker(autocommit = False, autoflush = False, bind = engine))
Base = declarative_base()
Base.query = db_session.query_property()
def init_db():
import models
Base.metadata.creat_all(bind=engine)
所有内容在运行时都会正确生成/解释,但在运行查询时出现错误:
^{pr2}$错误是:
sqlalchemy.exc.OperationalError: (OperationalError) (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed\n') None None
包装是:烧瓶==0.10.1,PymSql==2.1.1,SQLAlchemy==0.9.8
提前谢谢。在
因为我也有同样的问题。在
因为我可以让^{} 绕过} 将所有内容直接传递给
sqlalchemy
进行连接,所以我认为其他一切都应该正常,所以我使用create_engine
参数^{pymssql.connect
。在这样可以很好地工作,并且根本不需要干预
.freetds.conf
文件。在另外,请注意,
pymssql
要求usernname的格式为username@servername
。有关详细信息,请参阅链接的文档。在我遇到了类似的问题,并通过显式设置~/.freetds.conf,其中
tds version = 7.0
来解决它。{{cd2>在系统中读取[global]
部分为:您可以在^{上找到更多信息:http://www.freetds.org/userguide/freetdsconf.htm
相关问题 更多 >
编程相关推荐