【问题标题】:Connect google cloud function to an oracle database将谷歌云功能连接到 oracle 数据库
【发布时间】:2019-05-12 17:12:56
【问题描述】:

有谁知道,如何将谷歌云函数(Python)连接到 Oracle 数据库?我尝试在云功能中导入 cx_Oracle 库。但它显示一个错误

函数加载错误:DPI-1047:无法加载 Oracle 客户端库:libclntsh.so:无法打开共享对象文件

以下是main.py代码:

import cx_Oracle

def import_data(request):

    request_json = request.get_json()
    if request_json and 'message' in request_json:
        con = cx_Oracle.connect("username", "password", "host:port/SID")
        print(con.version)
        con.close

下面是requirements.txt

# Function dependencies, for example:
# package>=version
cx_Oracle==6.0b1 

【问题讨论】:

  • 您需要提供比这更多的信息。请给我们一些示例代码
  • @ChrisMaggiulli 我用代码 sn-ps 更新了问题

标签: python python-3.x oracle google-cloud-platform google-cloud-functions


【解决方案1】:

似乎 Google Cloud Functions does not support shared libraries(换句话说,它只支持“纯 python”库)并且 cx_oracle 依赖于此。遗憾的是我找不到纯 Python 的 Oracle 库,所以暂时不支持。

您最好使用 App Engine Flexible,因为它是与 allows non-pure python libraries 最接近的等效服务。 cl_oracle 应该可以使用它。

【讨论】:

  • 虽然sqlplus_commando 本身是纯python,但它取决于安装sqlplus,我认为这在GCF 上是不可能的。连接到 Oracle SqlAlchemy 依赖于 cx_oracle,所以我不认为它会起作用。
  • 我在回答中添加了使用 GAE Flex 的建议,因为这应该允许 cx_oracle。
  • 是的,我同意您关于 sqlplus_commando 和 sqlALchemy 的回答。谢谢
猜你喜欢
  • 2020-05-18
  • 2021-01-25
  • 2018-12-01
  • 2019-12-08
  • 1970-01-01
  • 2021-10-05
  • 2019-05-23
  • 2019-08-26
  • 2017-10-19
相关资源
最近更新 更多