烧瓶的SQLAlchemy在App Engine上连接到云计算引擎MSSQL数据库使用(Flask-

2019-10-29 18:40发布

我很新的GCP作为一个整体,我需要部署一个应用程序瓶与客户端的项目。 部署一个应用程序是很简单的给所有谷歌已经提供的文档,并且因为使用了灵活的应用程序引擎好像做最简单的方法,那就是我试图使用。

我有虽然问题是在试图连接到这是在计算引擎设置一个MSSQL数据库。 到目前为止,我已经连接到数据库在本地使用pyodbc与一些帮助连接到MSSQL数据库使用烧瓶SQLAlchemy的 。

我确信运行gcloud app deploy是行不通的,果然无法安装pyodbc模块。 我想,那会不会是去反正方式,并根据该文档的这个页面 ,好像我应该能够通过其内部的IP地址连接到计算引擎。

我不知道如何从这里虽然出发,因为一切都在文档希望我使用Cloud SQL执行个体,但鉴于这个数据是由客户提供,我的工作对他们的GCP项目,我是位仅限于我上面描述的场景。

Answer 1:

这已经得到了解决。

问题是,有下载的服务器上没有ODBC驱动程序,所以我需要以先安装驱动程序,以创建一个Dockerfile一个自定义运行时。

我的解决方案在很大程度上受到该解决方案的帮助: 泊坞窗蟒蛇连接到SQL Server与pyodbc

步骤如下:

运行gcloud beta app gen-config --custom在烧瓶应用程序的目录。

里面现在已经创建Dockerfile的,在安装PIP要求之前,添加这些行。

#Install FreeTDS and dependencies for PyODBC
RUN apt-get update
RUN apt-get install -y tdsodbc unixodbc-dev
RUN apt install unixodbc-bin -y
RUN apt-get clean -y
ADD odbcinst.ini /etc/odbcinst.ini

该文件ODBCINST.INI应包含以下几行:

[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

此后gcloud app deploy应该只是罚款。



文章来源: Flask-SQLAlchemy on App Engine connect to MSSQL database on Cloud Compute Engine using