【问题标题】:Unable to connect remote Oracle DB in java stored procedure无法在 Java 存储过程中连接远程 Oracle DB
【发布时间】:2020-04-05 08:43:06
【问题描述】:

我正在尝试以传统方式连接到 java 存储过程中的远程 oracle 数据库。我能够成功调用java存储过程。但我在建立连接时收到异常“索引 1 处缺少输入或输出参数”。我不确定此错误与以任何方式建立连接有何关系。但是我在java中没有任何其他代码。

try{
 Class.forName("oracle.jdbc.driver.OracleDriver");  


Connection con=DriverManager.getConnection(  
"jdbc:oracle:thin:@host:port:servicename","user","pwd"); 
}catch(Exception e){
  //(Missing In or Out parameter at index 1) 
  //logged the error in the local database table
}

谁能帮我在需要更改的地方连接到另一个 oracle 数据库。

【问题讨论】:

  • 看起来你的存储过程需要参数,检查你的调用代码
  • 这不是连接问题。这是一个执行问题。您可能没有某些设置参数。你能输入你的程序和执行行的声明吗?
  • lakshman,Khairyi.. 感谢您的回复。当我调用该过程时,我没有看到任何错误。但是问题出在建立连接时的java程序中。我捕获了异常并将其插入本地数据库。而且错误是如此无关。
  • 给出完整的代码,尤其是参数定义...如果它有一个 in-out 参数并且这是你的代码块的全部,是的,它缺少一个 out 参数。

标签: java oracle oracle12c java-stored-procedures


【解决方案1】:

servicenamesid 的连接 URL 不同。

格式:

使用服务名称:jdbc:oracle:thin:@//host:port/ServiceName

使用 SID:jdbc:oracle:thin:@host:port:SID

【讨论】:

    猜你喜欢
    • 2010-09-19
    • 2019-06-21
    • 1970-01-01
    • 2015-08-01
    • 2013-12-14
    • 2016-06-05
    • 2023-03-16
    • 2015-04-27
    • 2012-03-11
    相关资源
    最近更新 更多