java - Sqlplus主机字符串在jdbc中重要吗?

标签 java oracle jdbc

谁能告诉我从 Sqlplus 登录时使用的主机字符串字段在 jdbc 中是否有任何作用?

最佳答案

这取决于 JDBC URL 中使用的数据库说明符。对于大多数用途,通常不需要主机字符串(或更正确地称为网络服务名称),因为在确定要连接到的 Oracle 实例时不会读取 tnsnames.ora 文件中的条目。大多数使用 JDBC 的开发人员都使用不需要此功能的数据库 URL 方案。

有关 Oracle 数据库服务的信息通常从 JDBC URL 本身读取,对于 Oracle,该信息具有以下表示法:

jdbc:oracle:<driver_type>:[username/password]@database_specifier

用户名和密码是可选的;还有其他方法来指定用户名和密码。驱动程序利用数据库说明符字段中指定的信息来确定 Oracle 监听器的位置,因此无需使用具有显式连接描述符的单独 Oracle 主目录来定位数据库服务。

Oracle Database JDBC Developer's Guide列出可以使用的所有可能的数据库说明符。在大多数场景中,使用瘦式服务名称语法,其中不需要网络服务名称(并且将指定数据库的实际服务名称)。唯一的异常(exception)是在源代码中指定了 TNSNames 别名,并且使用 oracle 指定了 tnsnames.ora 文件的位置。 .net.tns_admin 属性。

关于java - Sqlplus主机字符串在jdbc中重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235176/

相关文章:

sql - 如何使用硬编码值而不是子查询定义 'with clause'?

java - 类似名称的查询不起作用

java.sql.SQLException : No suitable driver found for jdbc:mysql://localhost:3306/dbname

java - 以编程方式挂起/恢复 JVM

java - 如何从 servlet 上的列表中打开文件

sql - 如何在oracle sql where子句中使用冒号分隔值

java - 使用 JDBC 连接到 Derby

java - python stanford posttager,java命令运行一段时间后失败

java - 来自 hikaricp 连接池的连接对象

oracle - 我可以在 Oracle SQL Developer 中导出数据库中的所有表定义吗