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

2024-09-26 18:19:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个AWS Lambda Python包,它将通过JDBC连接到FileMaker数据库。为了进行测试,我用Lambda Linux AMI启动了一个EC2实例,并创建了一个virtualenv(/venv),我正在其中进行测试。我上传了fmjdbc.jar到使用WinSCP到/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)

这给了我一个错误:

^{pr2}$

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


Tags: 实例lambda代码pypiawsvenvlibjar
1条回答
网友
1楼 · 发布于 2024-09-26 18:19:52

您可以将python驱动程序设置为jpype。我以前用它连接Oracle数据库。这里有我的示例代码,可能对您有用。在

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)

相关问题 更多 >

    热门问题