【发布时间】:2025-11-29 07:25:01
【问题描述】:
我有一个 Elastic Beanstalk 应用程序,我尝试将其配置为通过 JDBC 连接到 FileMaker Pro 数据库。我使用的代码是:
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-<class错误吗? -
XXX 是为了隐藏相关数据库的 URL。完整的错误消息现在显示在问题中,因为它出现在生产中。
-
@bastian 我已经更新了上面的问题。这个问题似乎与这个线程相似:answers.launchpad.net/jaydebeapi/+question/248738,在程序中我手动输入 JAVA_HOME 命令时可以连接,但驱动程序在一段时间不活动后没有“粘住”。不幸的是,上面链接的票似乎没有得到解决。
标签: amazon-web-services jdbc amazon-ec2 amazon-elastic-beanstalk jaydebeapi