簡體   English   中英

使用JDBC,Python和JayDeBeApi連接到Filemaker數據庫

[英]Connect to Filemaker Database using JDBC, Python, and JayDeBeApi

我正在嘗試編寫一個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>

如何讓Python的虛擬環境讀取jdbc驅動程序? 我想最終將這段代碼放在一個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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM