如何通过java连接Oracle

如何通过java连接Oracle,java,sql,oracle,Java,Sql,Oracle,我已经安装了Oracle10g,我正在尝试使用java连接它。但我无法连接它 user name - system password - oracle10g sid - orcl 我正在发布我的代码和错误日志 import java.sql.DriverManager; import java.sql.Connection; import java.sql.SQLException; public class TestConnection { public static void main

我已经安装了Oracle10g,我正在尝试使用java连接它。但我无法连接它

user name - system
password - oracle10g
sid - orcl
我正在发布我的代码和错误日志

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

public class TestConnection {

public static void main(String[] argv) {

    System.out.println("-------- Oracle JDBC Connection Testing ------");

    try {

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

    } catch (ClassNotFoundException e) {

        System.out.println("Where is your Oracle JDBC Driver?");
        e.printStackTrace();
        return;

    }

    System.out.println("Oracle JDBC Driver Registered!");

    Connection connection = null;

    try {

        connection = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:orcl", "system",
                "oracle10g");

    } catch (SQLException e) {

        System.out.println("Connection Failed! Check output console");
        e.printStackTrace();
        return;

    }

    if (connection != null) {
        System.out.println("You made it, take control your database now!");
    } else {
        System.out.println("Failed to make connection!");
    }
}

}
错误日志:

-------- Oracle JDBC Connection Testing ------
Oracle JDBC Driver Registered!
Connection Failed! Check output console
java.sql.SQLException: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at com.gamma.TestConnection.main(TestConnection.java:30)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the   connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:359)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:672)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:237)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
... 7 more

数据库是否与Java位于同一个框中?您的侦听器是否正在运行,并在本地设备上的端口1521和本地主机接口127.0.0.1上侦听,而不仅仅是在外部IP上?您可以使用netstat检查该状态和/或lsnrctl状态。您是否有本地防火墙可能会阻止连接?我使用toad连接到oracleusing toad使用这些凭据意味着用户名系统密码-oracle10g…这不是凭据,它没有走那么远;它无法连接到该主机和端口。这些在Toad中是相同的吗?如果在Windows中,所有的事情都发生在同一台电脑上吗?不相关,但是:不要使用系统帐户玩游戏。尤其不要将表或其他对象创建为SYS或SYSTEM。创建一个普通用户并使用它。@Alex是的,这是同一个框