gpt4 book ai didi

python - 使用 JDBC、Python 和 JayDeBeApi 连接到 Filemaker 数据库

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:39 26 4
gpt4 key购买 nike

我正在尝试编写一个 AWS Lambda Python 包,它将通过 JDBC 连接到 FileMaker 数据库。为了进行测试,我使用 Lambda Linux AMI 启动了一个 EC2 实例,并创建了一个我正在测试的 virtualenv (/venv)。我已经使用 WinSCP 将 fmjdbc.jar 上传到实例到/venv/lib/fmjdbc.jar。代码使用 JayDeBeApi,遵循此处的用法示例:https://pypi.python.org/pypi/JayDeBeApi/#usage

到目前为止我的代码如下:

import jaydebeapi as jdb

driverclass = 'com.filemaker.jdbc.Driver'
jdbcURL = 'jdbc:filemaker://url:port;database'


jar = '/home/ec2-user/lambda-test-project/venv/lib/fmjdbc.jar'
print jar

conn = jdb.connect(driverclass,[jdbcURL,'username','password'],jar)

这给了我错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ec2-user/lambda-test-project/venv/local/lib/python2.7/site-package s/jaydebeapi/__init__.py", line 359, in connect
jconn = _jdbc_connect(jclassname, jars, libs, *driver_args)
File "/home/ec2-user/lambda-test-project/venv/local/lib/python2.7/site-package s/jaydebeapi/__init__.py", line 183, in _jdbc_connect_jpype
return jpype.java.sql.DriverManager.getConnection(*driver_args)
jpype._jexception.SQLExceptionPyRaisable: java.sql.SQLException: No suitable driver found for jdbc:filemaker://<MY URL STUFF IS HERE>

如何让 jdbc 驱动程序被 Python 的虚拟环境读取?我希望这段代码最终能在 Lambda 包中运行,所以我希望有一个解决方案可以集成到 Python 代码中,从而在新创建的服务器上重复运行。

最佳答案

您可以使用 jpype 包来设置 python 的驱动程序。我以前用它来连接 Oracle DB。我的示例代码可能对您有用。

import jaydebeapi,jpype

classpath = "your jdbc jar driver path"

jvm_path = "/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.36.x86_64/jre/lib/amd64/server/libjvm.so" #your java vm path

jpype.startJVM(jvm_path, "-Djava.class.path=%s" % classpath) #start jvm based on the driver

conn = jaydebeapi.connect(xxxxxx)

关于python - 使用 JDBC、Python 和 JayDeBeApi 连接到 Filemaker 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37355515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com