2024年Clojure状态调查!中分享您的想法。

欢迎来到这里!请在关于页面了解更多关于这个网站的工作方式的信息。

0
java.jdbc

大家好

在java.jdbc中,当使用原始连接-URI时,无法传递属性,除非它是URI的一部分(用户名和密码除外,它们可以从db-spec中获得,因为存在一个带用户名和密码的特定构造函数),JDBC提供管理器可以提供任何属性的另一个构造函数(包括用户名和密码)。是否可以使用该构造函数?下面的更改如下:https://github.com/dmcgillen/java.jdbc/commit/95edd36997320d8dc6882ea371d88c901e49f465#diff-3a9a3475f16407a50d922fad53957b01L293

就背景而言,这对我来说已经出现了,因为我一直使用AWS Secrets Manager JDBC包装器,它将secret id作为连接-URI。我仍然想提供其他JDBC属性,但它们应当像上面更改中提供的那样,这似乎是一个很好的支持以这种方式传递属性的主意。

如果我认为应该创建一个JIRA而不是在这里发布,请告诉我,我当然可以这样做(如果这个更改是一个好主意的话)。

谢谢

1 个回答

+1

选择
 
最佳回答

根据clojure.java.jdbc的README文档:此项目已经“稳定”发布(不再是“活跃”)。它实际上已被seancorfield/next.jdbc取代。

next.jdbc数据源和连接的创建方法有所不同,因此您可能会遇到类似的问题,我将对此项目进行相应的改进。您可以直接在GitHub上创建一个issue进行讨论。

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

我认为允许包含:jdbcUrl(与->pool用法匹配)的db-spec将提供对此问题的解决方案。
seancorfield/next.jdbc 1.0.8已包含此新特性,并在Clojars上可用。
真遗憾,看起来我错过了这艘船!谢谢您快速将其添加到next.jdbc中,知道开始使用时它将会被支持,真是太好了。
by
为了他人的方便,只需使用 clojure.java.jdbc 支持的数据源。我们早已处于使用连接池的环境,但我们有一些应用程序不需要使用连接池,但它们仍然可以借助数据源工作。

对于这些应用程序,我们使用 next.jdbc 的 get-datasource 函数来创建数据源(其中包含上述更改,以便我们可以使用带属性设置的 jdbc uri,谢谢!),但直到我们可以迁移之前,我们仍使用该数据源与 clojure.java.jdbc 一起使用。
by
很高兴看到你(Donovan)用得很好!我们也是一个混合的 c.j.j. / next.jdbc 店,我们有 c3p0 连接池适用于所有(遗留)代码,所以我们只是将 (:datasource pooled-db) 传递给 next.jdbc 函数。
...