2024 Clojure状态调查!(a靶)分享您的想法!

欢迎!请参阅关于页面了解更多信息。

0
java.jdbc

嗨,大家好

在java.jdbc中,在读取原始连接URI时,无法传递属性,必须将它们包含在URI中,除了用户名和密码可以来自db-spec(因为有一个特定的接受用户名和密码的DriverManager构造函数)。但是,DriverManager还提供另一个构造函数,可以接受任何属性,包括用户名和密码。是否可以使用该构造函数代替?以下是更改的样子:https://github.com/dmcgillen/java.jdbc/commit/95edd36997320d8dc6882ea371d88c901e49f465#diff-3a9a3475f16407a50d922fad53957b01L293

关于上下文,这个问题是我使用AWS Secrets Manager JDBC封装以来的,它接受secret ID作为连接URI。我仍然想提供其他JDBC属性,但它们应按照上述更改提供,这似乎是一项很好的支持属性以这种方式传递的任务。

请告诉我是否应该创建一个JIRA而不是发表在这里,如果我这样做,我会这样做(如果更改是个好主意的话)。

谢谢

1 答案

+1
by
已选中 by
 
最佳回答

根据 clojure.java.jdbc 的README,本项目是“稳定”的(不再是“活跃”)状态。它已被 seancorfield/next.jdbc 所取代。

next.jdbc 对数据源和连接采取了不同的方法,所以我认为你可能会遇到类似的问题,但我愿意在该项目中解决它。欢迎在GitHub上创建一个issue进行讨论。

by
https://github.com/seancorfield/next-jdbc/issues/66

我认为允许包含 :jdbcUrl(与 ->pool 使用相符)的 db-spec 将解决这个问题。
by
seancorfield/next.jdbc 1.0.8 已在 Clojars 上发布,并新增了这个新特性。
by
真遗憾,看来我错过了这次机会!感谢你迅速将其添加到 next.jdbc 中,很好知道当我们开始使用它时将得到支持。
为了其他人的利益,只需使用clojure.java.jdbc支持的 kaynaklar。我们早已使用了连接池,但我们有一些应用程序没有使用池,但它们仍然可以通过来源工作。

对于这些应用程序,我们使用next.jdbc的get-datasource函数来创建数据源(其中包含上述更改,因此我们可以使用带有属性的jdbc uri,感谢!),但使用该数据源与clojure.java.jdbc,直到我们迁移的时候。
很高兴看到你的进步,Donovan!我们也是混合c.j.j. / next.jdbc小店,我们所有的(遗留)代码都使用c3p0连接池,所以我们将(:datasource pooled-db)传递给next.jdbc函数。
...