使用瘦驱动程序的 Oracle 12c 数据库连接引发 IO 错误

2024-04-03

我正在遵循 JDBC 开发人员指南并尝试使用简短的 java 程序测试 JDBC 瘦驱动程序连接。

import java.sql.*;
import oracle.jdbc.*;
import oracle.jdbc.pool.OracleDataSource;
class JDBCVersion
{
public static void main (String args[]) throws SQLException
{
        OracleDataSource ods = new OracleDataSource();
        ods.setURL("jdbc:oracle:thin:hr/hr@localhost:1522:orcl");
        Connection conn = ods.getConnection();
        // Create Oracle DatabaseMetaData object
        DatabaseMetaData meta = conn.getMetaData();
        // gets driver info:
        System.out.println("JDBC driver version is " + meta.getDriverVersion());
}
} //<host>:<port>:<service>

我已经尝试了一切可能<host>:<port>:<service>组合但仍然得到java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection

我已经使用教程中包含的另一个程序成功测试了 OCI 驱动程序......但无法让这个程序工作。我的应用程序将使用瘦驱动程序连接到数据库,所以我的挫败感是......攀登。

任何帮助表示赞赏。


也许以下命令可以解释为什么您需要服务名称而不是 URL 中的 SID。

  • the Oracle JDBC 常见问题解答 http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-faq-090281.html#05_10提到这一点SIDs will be cease to be supported in one of the next few releases of the database

  • the Oracle JDBC 开发人员指南 https://docs.oracle.com/database/121/JJDBC/appcontnew.htm#JJDBC29059提到Always connect to a service. Never use instance_name or SID because these do not direct to known good instances and SID is deprecated

  • the Oracle 2 天 + Java 开发人员教程 https://docs.oracle.com/database/121/TDPJD/getconn.htm#TDPJD138提及语法jdbc:oracle:driver_type:[username/password]@//host_name:port_number:SID这似乎是 SID 和服务名称 URL 的混合(遵循其他文档和您的工作示例)

  • 相比之下,javadoc为Oracle驱动程序 https://docs.oracle.com/database/121/JAJDB/oracle/jdbc/OracleDriver.html仅提及 SID 语法

  • the Oracle 常见问题解答维基 http://www.orafaq.com/wiki/JDBC#Thin_driver提及两种语法

.

jdbc:oracle:thin:[USER/PASSWORD]@[HOST][:PORT]:SID
jdbc:oracle:thin:[USER/PASSWORD]@//[HOST][:PORT]/SERVICE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用瘦驱动程序的 Oracle 12c 数据库连接引发 IO 错误 的相关文章

随机推荐

  • 无法在 ASP.NET 中纠正 VeraCode CWE ID 918 - (SSRF)

    长话短说 无论我如何尝试 VeraCode 都会继续将我的 8 行代码标记为 CWE 918 缺陷 这是旧代码 所以我不确定为什么它突然被标记 这是一个示例 offending 方法 其中标记行以粗体显示 public virtual as
  • ItemTouchHelper startSwipe 不起作用

    我尝试在适配器内使用 startSwipe 但似乎不起作用 奇怪的是 当我尝试用手指手动滑动它时 它起作用了 只是当我单击支架内的按钮时 startSwipe 不起作用 需要这方面的帮助 这是我调用 startSwipe 的地方 在 onC
  • Intellij+Springboot+Thymeleaf+gradle - 自动重新加载html资源

    我正在使用 IntelliJ Ultimate Spring Boot 和 Thymeleaf 我想启用 HTML 自动重新加载 而无需重新启动服务器 也无需使用 CTRL F9 我已经阅读了以下内容 我认为它应该有效 但事实并非如此 ht
  • 自定义适配器不显示任何项目

    这是先前问题的后续 ListView android 行中的 ImageButton 不工作 https stackoverflow com questions 29819256 imagebutton within row of list
  • Google 地图路线 API - 到达时间?

    我使用 Google Directions API 来计算两个地点之间所需的时间 API 给了我一个选择departure time 我可以在其中传递出发时间 或 现在 的时间戳 那么答案就是duration in traffic 这真的很
  • 使用 PyQT 逐帧加载 opencv 视频

    我正在尝试加载一个 mat 文件 具有被跟踪对象的位置坐标 并加载一个视频文件 为了加载视频文件 我使用 opencv 我制作了一个 GUI 来加载它们 一旦有人按下开始按钮 视频就会开始播放 暂停会停止播放 这是它的 GUI 这是我遇到的
  • 如何从 Perl 设置 Windows PATH 变量?

    我需要在 Perl 中设置环境变量 理想情况下 我需要查询一个变量 然后在不需要时更改它 具体来说 我要更改的是 PATH 变量 我如何获取和设置这些变量 如果您需要全局且永久地更改环境变量 就像在控制面板中设置它一样 那么您必须与注册表混
  • 捕获一个索引位置中的字符串并移动到 xml 文件中的另一个索引位置

    我是一名 Python 初学者 想要将现有的 xml 文件转换为 LaTeX 文档 xml 包含许多脚注 有时会被拆分 因为它们不适合原始文档 一本旧书 中的一页 并且 xml 文件的创建者希望布局尽可能接近原始文档 在分割的脚注之间有普通
  • git log 不显示提交,但 git log 显示编辑文件的提交

    我在寻找丢失的零钱时发现了这个奇怪的问题 我输入 git log httpd conf 我按照预期得到了一堆提交哈希 但不是我所做的 当我输入 git log 我看到了我所做的承诺 当我跑步时 git show
  • 安装最新版本的 jenkins 时出现问题

    在我的 Ubuntu 机器上 我尝试本地安装 jenkins 我已经遵循了这个指南 https wiki jenkins ci org display JENKINS Installing Jenkins on Ubuntu https w
  • 无法使用 add() 添加 jvmArgs,为什么?

    谁能解释为什么第一个示例有效而第二个示例不起作用 test jvmArgs Xdebug Xrunjdwp transport dt socket server y suspend y address 4000 test jvmArgs a
  • MySQL InnoDB auto_increment 值增加 2 而不是 1。 病毒?

    有一个 InnoDB 表 用于存储自定义构建的 Web 应用程序使用的博客文章的评论 最近我注意到评论的自动递增主键值增加了 2 而不是仅增加 1 我还注意到 在另一个用于记住最后几个评论者的足迹签名 例如 ip 会话 id uagent
  • 如何使用 Google Guice 实现“机器人腿”用例?

    我正在学习 Google Guice 你知道如何实现 机器人腿 问题吗 让我用一个例子来解释这一点 假设我有一些名为Service Singleton public class Service Inject Source source 界面
  • ruby on Rails rspec 错误

    我正在阅读 通过示例学习 Rails 一书 并尝试运行测试 由于某种原因 我无法让 rspec 正常工作 如果我运行rspec spec 按照他的指示执行命令 我收到以下错误 rspec spec home desktop rvm gems
  • Mysql select for update - 它没有锁定目标行。我如何确保它确实如此?

    所以 select for update 的语法是这样的 SELECT 1st query FROM test WHERE id 4 FOR UPDATE UPDATE test 2nd query SET parent 100 WHERE
  • MVC3 字典未绑定到模型

    我有一个包含字典属性的模型 这是从一个更大的项目中提炼出来的 我已确认该示例仍然存在相同的问题 public class TestModel public IDictionary
  • MATLAB Quiver - 小箭头

    我正在尝试使用 MATLAB 中的 quiver 函数绘制 x 和 y 速度 我有 x y u 和 v 数组 具有它们通常的含义 尺寸为 100x100所以 结果是我的箭袋图很密集 除非放大 否则我看不到箭头 有点像这样 颤抖不画箭头只是很
  • 是否有一个Python包可以解析带有节的可读数据文件

    我正在寻找一种方法来解析带有部分的可读 即不是二进制 数据文件 我一直在使用 ConfigObj 读取配置文件 INI 文件 但遇到了多行列表的问题 具体来说 ConfigObj 不允许列表成员包含回车符 换句话说 以下内容无法解析 sec
  • 为什么我不应该在 init/dealloc 中使用 Objective C 2.0 访问器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用瘦驱动程序的 Oracle 12c 数据库连接引发 IO 错误

    我正在遵循 JDBC 开发人员指南并尝试使用简短的 java 程序测试 JDBC 瘦驱动程序连接 import java sql import oracle jdbc import oracle jdbc pool OracleDataSo