【问题标题】:List of Java Connection (JDBC) non-db specific properties?Java 连接 (JDBC) 非数据库特定属性的列表?
【发布时间】:2022-01-18 11:47:39
【问题描述】:

我在哪里可以找到非数据库特定属性(键)的良好(可能是官方)来源(列表)?

Properties props = new Properties();
props.put(key, value);
props.put(key, value);
props.put(key, value);
props.put(key, value);
props.put(key, value);
props.put(key, value);
connection = DriverManager.getConnection(path, props);

【问题讨论】:

    标签: java jdbc


    【解决方案1】:

    参见DriverManager.getConnection(String url, Properties info)Javadoc:

    info - 任意字符串标签/值对列表作为连接 论据;通常至少应该有一个“用户”和“密码”属性 被列入

    除此之外,Java API 文档和JDBC 4.3 Specification 均未提及DriverManager.getConnection 必须支持的属性。

    第 9.6.1 节确实为javax.sql.DataSource 对象指定了许多属性,但其中只有"roleName""user""password"DriverManager.getConnection 有意义。

    简而言之,非 db 特定属性的列表是 "user""password"(由 Javadoc 建立),也可能是 "roleName"(尽管这需要根据 javax.sql.DataSource 的要求推断行为)。其他所有内容都是特定于驱动程序的,您需要查看您正在使用的驱动程序的文档以了解它支持的属性。

    理论上,您可以通过Driver.getPropertyInfo​(String url, Properties info) 发现属性。但是,在我看来,它的行为没有明确指定,因此支持和行为因驱动程序而异(有些返回所有属性,有些只返回连接所需的最小属性集)。

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 1970-01-01
      • 2020-08-20
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      • 2021-10-24
      • 2013-06-26
      • 1970-01-01
      相关资源
      最近更新 更多