我正在谷歌云上运行一个flask应用程序,但使用pyodbc一点运气都没有。我最初尝试了
def googleConnection():
conn = pyodbc.connect(
"Driver={SQL Server};"
"Server=server;"
"Database=dbname;"
"UID=username;"
"PWD=password;"
)
return conn
我在gcloud日志中得到了以下错误:
pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'SQL Server' : file not found (0) (SQLDriverConnect)")
它抱怨缺少必要的司机。所以,我运行了一个查询以返回pyodbc.drivers()
查看是否有可用的
def googleConnection():
drivers = [item for item in pyodbc.drivers()]
conn = pyodbc.connect(
f"Driver={drivers[-1]};"
"Server=server;"
"Database=dbname;"
"UID=username;"
"PWD=password;"
)
return conn
它只是返回了一个空列表,确认没有驱动程序,但根据我的需求文件,它将pyodbc作为一个包导入。
它试图连接到的数据库是使用GCPSQL托管的,身份验证没有问题,所以它实际上只是缺少驱动程序。但是,我找不到任何关于在中添加这些的文档。我发现了这个使用gcloud -beta config
的文档,但它后来被弃用了。
您必须首先安装驱动程序。ODBC驱动程序不可pip安装。
为SQL Server(Linux(安装Microsoft ODBC驱动程序