DataSource 有效连接但 getURL returns 为空?
DataSource valid connection but getURL returns null?
我通过 Payara (Glassfish) 上的 Informix 向我报告了这种情况。
是否存在我们可以获得有效连接但 DatabaseMetaData getURL 可能 return 为空的情况?
允许从 DatabaseMetaData.getURL()
返回 null
,如 Javadoc 中所述:
Returns:
the URL for this DBMS or null
if it cannot be generated
DatabaseMetaData.getURL()
方法主要用于提供信息,因此您不应以任何方式依赖其结果。
Informix 驱动程序可能无法获得用于连接的原始 URL,而只是 returns null
在其 DatabaseMetaData.getURL()
.[=18 的实现中=]
如果您从数据源创建 Informix JDBC 连接,那么从驱动程序的角度来看没有 URL,并且 DatabaseMetaData.getURL()
将 return 为空。
如果您使用 DriverManager
建立连接并传入 URL,那么您应该从元数据中获取 URL。
有人可能会争辩说,连接可以 'build' 来自 DataSource
的 URL 返回给您,但是今天的 Informix JDBC 驱动程序不这样做.
我通过 Payara (Glassfish) 上的 Informix 向我报告了这种情况。
是否存在我们可以获得有效连接但 DatabaseMetaData getURL 可能 return 为空的情况?
允许从 DatabaseMetaData.getURL()
返回 null
,如 Javadoc 中所述:
Returns: the URL for this DBMS or
null
if it cannot be generated
DatabaseMetaData.getURL()
方法主要用于提供信息,因此您不应以任何方式依赖其结果。
Informix 驱动程序可能无法获得用于连接的原始 URL,而只是 returns null
在其 DatabaseMetaData.getURL()
.[=18 的实现中=]
如果您从数据源创建 Informix JDBC 连接,那么从驱动程序的角度来看没有 URL,并且 DatabaseMetaData.getURL()
将 return 为空。
如果您使用 DriverManager
建立连接并传入 URL,那么您应该从元数据中获取 URL。
有人可能会争辩说,连接可以 'build' 来自 DataSource
的 URL 返回给您,但是今天的 Informix JDBC 驱动程序不这样做.