当前位置: 首页 > 面试题库 >

如何将JDBC连接到TNS Oracle

吕向荣
2023-03-14
问题内容

我可以使用tns文件从plsql连接到数据库

现在,我想使用JDBC从Java连接到数据库。

我试过的

我搜索谷歌,我发现我必须使用此连接字符串:

"jdbc:oracle:thin:@//host:port))/tnsfile)";

我的电脑名称是 myPC

在tnsfile中写入的端口是 5151

所以我尝试了这个连接字符串

"jdbc:oracle:thin:@//myPC:5151))/tnsfile"

但我有这个例外

java.sql.SQLRecoverableException: IO ERROR: SO Exception was generated

我究竟做错了什么?

如何使用tns文件将JDBC连接到数据库?


问题答案:

您必须设置一个名为的属性,以oracle.net.tns_admin指向包含您的tnsnames.ora文件的文件夹的位置。然后,在@登录数据库URL
后,从该文件中指定条目。检查下面的例子。您可以在此处找到更多信息:数据源和URL-
Oracle文档

import java.sql.*;

public class Main {
  public static void main(String[] args) throws Exception {
    System.setProperty("oracle.net.tns_admin", "C:/app/product/11.2.0/client_1/NETWORK/ADMIN");
    String dbURL = "jdbc:oracle:thin:@ENTRY_FROM_TNSNAMES";

    Class.forName ("oracle.jdbc.OracleDriver");

    Connection conn = null;
    Statement stmt = null;

    try {
      conn = DriverManager.getConnection(dbURL, "your_user_name", "your_password");

      System.out.println("Connection established");

      stmt = conn.createStatement();

      ResultSet rs = stmt.executeQuery("SELECT dummy FROM dual");

      if (rs.next()) {
        System.out.println(rs.getString(1));
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
    finally {
      if (stmt != null) try { stmt.close(); } catch (Exception e) {}
      if (conn != null) try { conn.close(); } catch (Exception e) {}
    }
  }
}

来自tnsnames.ora文件的示例条目:

my_net_service_name = 
 (DESCRIPTION = 
   (地址=(此处为一些地址))
   (CONNECT_DATA = 
     (SID = some_SID_name)))

在我的Java示例中,my_net_service_namestring是您必须替代的内容ENTRY_FROM_TNSNAMES



 类似资料:
  • 我可以使用tns文件从plsql连接到数据库 现在我想使用JDBC从我的Java连接到数据库。 我在谷歌上搜索,我发现我必须使用这个连接字符串:

  • 我已经将 Kafka-connect-jdbc-5.5.0.jar 文件从 Confluent 下载到我的本地机器中,我想知道一种将此 jar 添加到 plugin.path=/kafka/connect 的方法。我正在尝试将数据接收器到 MySQL 服务器,所以我使用“连接器.class”:“io.confluent.connect.jdbc.JdbcSinkConnector”,但我面临“er

  • 问题内容: 文件包含和及其说明(+ )。 是否可以依靠上述文件建立连接?(仅提供数据库名称即可): 为了找到该文件,我必须知道默认的Oracle主目录,我需要在Windows注册表中检入然后具有所有文件,然后检查哪个文件首先出现在上。有没有办法在客户端计算机上自动找到此文件? 问题答案: 我什至不知道可以在瘦驱动程序中使用tnsnames,但是显然它是在版本10中添加的: http://docs.

  • 我们有来自IBM(P8)的AS/400机器,它使用DB2数据库。我想通过JDBC连接从DB2读取表并对其进行处理。连接到DB2数据库并用java程序生成sql语句是可能的?如果是的话,有人能出示一点样本吗。提前道谢。

  • 我正在尝试将 kafka 与 windows 上的 mysql 连接起来。我没有使用汇合。我的 kafka 版本是 2.12 我已经启动了动物园管理员、Kafka、生产者和消费者,这一切都很好用。 我的MysQL版本是8.0.15 我已经在libs文件夹中复制了这3个jar文件 我的源代码quickstart mysql。属性文件代码为 当我运行命令时 我在控制台上收到此错误 请帮助我。 我也试过

  • 问题内容: 我的Java程序出现这些错误。我已经把我的类路径放在里面了。如何解决呢? 代码: 问题答案: 您需要从下载MySQL包:这里并将其放置在库中,我将修改在少数分钟excact步骤 这是连接数据库的正确语法: 希望这可以帮助