我有一個Elastic Beanstalk應用程序,我嘗試通過JDBC將它連接到FileMaker Pro數據庫。我正在使用的代碼是:將JDBC jar驅動程序添加到AWS Elastic Beanstalk作業的類路徑
import jaydebeapi as jdp
jdbc_driver_location = '/tmp/fmjdbc.jar'
conn = jdb.connect(jdbc_driver_class,
jdbc_connection_type + '://' + db_url + '/' + db_name,
[user_name, password], jdbc_driver_location,)
當我嘗試,我得到了以下錯誤:
java.sql.SQLException: No suitable driver found for jdbc:filemaker://10.120.120.108/carecord-<class 'jpype._jexception.java.sql.SQLExceptionPyRaisable'>
要嘗試解決問題的手段,我已經添加了jdbc.jar到兩個Ec2實例的/ tmp文件夾,並將其包含在項目目錄中。如果我SSH進入EC2實例併發出命令:
JAVA_HOME=/tmp/fmjdbc.jar
該程序將在下一次提示時運行,沒有問題。幾個小時後,它會給出原始錯誤,需要再次發出上述命令才能正常工作。爲了解決這個問題我嘗試添加以下內容/.ebextensions
,以該.jar從項目目錄上面的命令從一開始就複製到tmp的文件夾,併發出到服務器:
commands:
command01:
command: sudo cp /opt/python/current/app/fmjdbc.jar /tmp/fmjdbc.jar
command02:
command: JAVA_HOME=/tmp/fmjdbc.jar
但該項目仍然給出了錯誤。有關如何將此驅動程序添加到類路徑以使作業一致運行的任何想法?
如果你能向我們展示變量內容(沒有用戶和密碼),這將有所幫助。你真的會遇到'XXXXX-
bastian
XXX在那裏隱藏有問題的數據庫的URL。問題中顯示完整的錯誤消息,因爲它在生產中出現。 – user2752159
@bastian我已經更新了上面的問題。這個問題看起來類似於這個線程:https://answers.launchpad.net/jaydebeapi/+question/248738, 在程序可以連接的時候我手動輸入JAVA_HOME命令,但是驅動程序並沒有「粘住」之後一段不活動的時期。 不幸的是,上面鏈接的票據似乎沒有解決。 – user2752159