我正在尝试在bluemix上创建一个cloudfaundry应用程序。它默认使用linux作为服务器。当我想在天蓝色
上连接sql server db时,我遇到了错误错误:
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL
Server' : file not found (0) (SQLDriverConnect)")
此处连接到db的代码。我正在使用烧瓶
@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上部署应用程序时如何执行此步骤。 此步骤可以在本地机器中完成。但是如何在云上做到这一点? 。有没有办法解决这个错误
这是本地
中envirnment.yml文件的内容name: pyodbc-test
dependencies:
- pyodbc
- flask
- itsdangerous
- Jinja2
- MarkupSafe
- Werkzeug
- unixODBC
答案 0 :(得分:0)
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')
cursor = cnxn.cursor()
我已经使用了FreeTDS多年,它对我很好。祝你好运!