我正在嘗試編寫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使用JDBC,Python和JayDeBeApi連接到Filemaker數據庫
我到目前爲止的代碼如下:
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代碼中的解決方案,該代碼可以在新創建的服務器上重複使用。
的[JayDeBeApi文檔(https://pypi.python.org/pypi/JayDeBeApi/)說:「如果你正在使用的CPython確保已安裝[JPype(https://開頭的PyPI。 python.org/pypi/JPype1/)。「你做到了嗎? –