在bluemix上运行我的应用程序时出错无法打开lib'SQL Server'
问题描述:
我正尝试在bluemix上创建一个cloudfaundry应用程序。它默认使用linux作为服务器。我收到以下错误,而我特林连接在Azure上在bluemix上运行我的应用程序时出错无法打开lib'SQL Server'
错误的SQL Server DB:
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL
Server' : file not found (0) (SQLDriverConnect)")
代码连接到数据库是在这里。我正在使用烧瓶
@app.route('/sql/<lat>/<long>')
def api_sql(lat,long):
cnxn =pyodbc.connect('DRIVER{SQLServer};SERVER=prashantvikramsingh.database.windows.net;DATABASE=Zillow;UID=UserId;PWD=pass')
cursor = cnxn.cursor()
还有类似的问题here。如何在Bluemix上部署应用程序时执行此步骤。 这一步可以在本地机器上完成。但如何在云端做到这一点? 。有没有什么办法来解决这个错误
thse被envirnment.yml文件的本地
name: pyodbc-test
dependencies:
- pyodbc
- flask
- itsdangerous
- Jinja2
- MarkupSafe
- Werkzeug
- unixODBC
答
内容的SQL Server
驱动程序仅适用于Windows。
你要考虑安装和使用无论是FOSS FreeTDS
或Microsoft ODBC Driver for Linux 13.1
:,
http://www.freetds.org/userguide/install.htm https://blogs.technet.microsoft.com/dataplatforminsider/2017/02/08/odbc-driver-13-1-for-linux-released/
然后,在连接字符串中,如果你使用freetds的,例如:
cnxn =pyodbc.connect('DRIVER={FreeTDS};SERVER=prashantvikramsingh.database.windows.net;DATABASE=Zillow;UID=UserId;PWD=pass;TDS_Version=7.2')
光标= cnxn.cursor()
我已经使用了FreeTDS多年,它对我很好。祝你好运!
我已经尝试了几个选项,但一直未能取得任何进展。微软现在是云计算基金会的成员,因此可能会向他们伸出援助之手。 –
@ChrisSnow会尝试。感谢所有帮助 – PriyalChaudhari