【问题标题】:oracle database gets connected without tns entryoracle 数据库在没有 tns 条目的情况下连接
【发布时间】:2014-12-08 13:17:40
【问题描述】:

我是 Oracle 数据库的新手。 我在我的机器上安装了 OracleXE 11g。我从 oracle 默认数据库(XE)中创建了一个单独的测试数据库[SID:testDB],引用了这个video。我创建了以下内容:

  1. 使用以下 cmd 创建 Windows 服务 - OracleServicetestDB: oradim -new -sid testDB -startmode auto -pfile initTestDB.ora
  2. 已创建数据库
  3. 执行的 sql 脚本 SQL> @?\rdbms\admin\catalog.sql SQL> @?\rdbms\admin\catproc.sql
  4. 已创建用户

在为这个新数据库创建用户/模式后,我可以从网络上的其他机器上的 sql developer 和 java/jdbc 程序连接它。

令我惊讶的是,我没有在 tnsnames.ora 中为此数据库创建任何 TNS 侦听器或 TNS 条目,但我仍然能够在本地和远程连接此数据库。 我期待以下问题的答案:

  1. 如何在没有 tns 条目的情况下连接我的 testDB?
  2. 如果 testDB 依赖于 XE 服务/侦听器,我如何配置 OracleServicetestDB 以与 XE 服务分离?
  3. 列表项

java/jdbc 代码:

import java.sql.Connection;
import java.sql.DriverManager;

public class FirstExample {
	// JDBC driver name and database URL
	static final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";
	static final String DB_URL = "jdbc:oracle:thin:@localhost:1521:testDB";

	// Database credentials
	static final String USER = "testDBUser";
	static final String PASS = "password";

	public static void main(String[] args) {
		Connection conn = null;
		try {
			// STEP 2: Register JDBC driver
			Class.forName(JDBC_DRIVER);

			// STEP 3: Open a connection
			System.out.println("Connecting to database...");
			conn = DriverManager.getConnection(DB_URL, USER, PASS);
			System.out.println("Connected.");

			conn.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

【问题讨论】:

    标签: oracle11g


    【解决方案1】:

    tnsnames.ora 用于打开程序(应用程序/工具),具体取决于使用的驱动程序和 somtimes 连接设置; Java 驱动程序可以处理大多数情况没有 tnsnames,请参阅http://docs.oracle.com/cd/E11882_01/java.112/e16548/urls.htm#JJDBC08200 并注意“TNSnames 别名”只是几个选项之一。

    侦听器在 ORAHOME/network/admin/listener.ora 中配置,通常默认不需要任何更改。在 Windows 上,侦听器作为服务运行(Windows 服务,不要与 Oracle 服务名称混淆!)并自动启动。在 Unix 和 Windows 上,即使您有多个数据库实例/SID,您也只有一个侦听器。

    【讨论】:

    • 感谢 dave 的回复,但是.. 我也通过 sql developer 连接,这是一个工具,我还没有为我的数据库实例创建任何 tns 条目。通常我们会在这种情况下得到以下错误错误:ORA-12505,TNS:listener 目前不知道 SID
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多