【问题标题】:Connect to Oracle DB hosted on linux machine form windows machine with jdbc使用 jdbc 连接到托管在 linux 机器形式的 windows 机器上的 Oracle DB
【发布时间】:2018-02-20 04:57:33
【问题描述】:

所以我将这个 oracle 数据库托管在 Linux 服务器上。 我知道如何使用 Windows 机器上的 putty 访问它,但我需要使用 Windows 机器上的 JDBC 访问它。 我有数据库的主机名、端口、服务名、用户名和密码。 我不明白如何打开连接。 我试过这样:

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@hostname/servicename:port:xe",username,password);

但我无法连接。请帮忙

编辑:

好的,我意识到地址错误,所以我将其更改为: 连接 con=DriverManager.getConnection("jdbc:oracle:thin:@hostname:port:servicename",username,password);

现在它给出了以下错误: java.sql.SQLEXCEPTION: 监听拒绝连接并出现以下错误: ORA-12505 TNS:Listener 目前不知道连接描述符中给出的 SID。

【问题讨论】:

  • 发生了什么(除了没有连接)?你收到错误了吗?如果这样,那是什么?此外,“@hostname/servicename”部分。你放了什么?
  • 它给出了以下错误 java.sql.SQLRecoverableException: IO 错误:网络适配器无法在主机名和服务名部分建立连接我把机器名/服务名我不能告诉你实际的。
  • DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "dbSchemaName/userName","password"); 应该是通过了。
  • 请看问题的变化

标签: java linux shell jdbc oracle11g


【解决方案1】:

尝试将您的 jdbc url 设置为这样的格式

jdbc:oracle:thin:@//localhost:1521/XE

【讨论】:

    【解决方案2】:

    所以我设法纠正了它。 我写过

    con=DriverManager.getConnection(
         "jdbc:oracle:thin:@hostname:port:servicename",username,password);
    

    正确的做法是

    con=DriverManager.getConnection(
         "jdbc:oracle:thin:@hostname:port/servicename",username,password); 
    

    如骑士所说。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      相关资源
      最近更新 更多