Java 网络适配器无法建立连接

Java 网络适配器无法建立连接,java,oracle,Java,Oracle,以下是连接到数据库时的连接字符串: public static void createConnection() throws Exception { System.out.println("-------- Oracle JDBC Connection Testing ------"); try { Class.forName("oracle.jdbc.driver.OracleDriver"); }

以下是连接到数据库时的连接字符串:

public static void createConnection() throws Exception {
    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:brdqa", "STATICDATA_APP",
                        "password");

            } catch (SQLException e) {

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

            }
运行此代码时,我得到以下异常:

java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.markit.scripts.ConnectMRD.createConnection(ConnectMRD.java:32)
    at com.markit.scripts.ConnectMRD.main(ConnectMRD.java:54)
java.sql.SQLException:Io异常:网络适配器无法建立连接
位于oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
位于oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
位于oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
位于oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
位于oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:414)
位于oracle.jdbc.driver.T4CConnection(T4CConnection.java:165)
位于oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
位于java.sql.DriverManager.getConnection(未知源)
位于java.sql.DriverManager.getConnection(未知源)
位于com.markit.scripts.ConnectMRD.createConnection(ConnectMRD.java:32)
位于com.markit.scripts.ConnectMRD.main(ConnectMRD.java:54)
我在谷歌上搜索了很多,发现只有这个连接字符串存在问题。 字符串中的“brdqa”是我的数据库名,“STATICDATA_APP”是我的用户名。我可以手动访问数据库。
请建议。

此错误表示驱动程序无法将套接字连接到端口1521上的主机“localhost”

您可以再次检查同一连接字符串是否适用于sqlplus:

sqlplus "STATICDATA_APP/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=brdqa)))"
侦听器通常不支持“localhost”作为主机名。您是否尝试过使用本地IP地址“127.0.0.1”


此错误表示驱动程序无法将套接字连接到端口1521上的主机“localhost”

您可以再次检查同一连接字符串是否适用于sqlplus:

sqlplus "STATICDATA_APP/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=brdqa)))"
侦听器通常不支持“localhost”作为主机名。您是否尝试过使用本地IP地址“127.0.0.1”


您是否在本地主机端口1521上运行oracle服务器?我的TNS条目中提到了1521。没有回答问题。它在运行吗?有人在1521端口监听吗?我是windows新手。你能告诉我如何检查这个1-打开“cmd.exe”->运行“netstat-n-b”->检查“tnslsnr.exe”或“cmd.exe”->“telnet localhost 1521”的输出吗->如果它打开telnet,则Oracle Listener正在运行,否则它会说无法连接或其他。您在本地主机端口1521上是否有正在运行的Oracle服务器?我的TNS条目中提到了1521。没有回答问题。它在运行吗?有人在1521端口监听吗?我是windows新手。你能告诉我如何检查这个1-打开“cmd.exe”->运行“netstat-n-b”->检查“tnslsnr.exe”或“cmd.exe”->“telnet localhost 1521”的输出吗->如果它打开telnet,则Oracle Listener正在运行,否则它会说无法连接或其他。您在本地主机端口1521上是否有正在运行的Oracle服务器?我的TNS条目中提到了1521。没有回答问题。它在运行吗?有人在1521端口监听吗?我是windows新手。你能告诉我检查方法吗?打开“cmd.exe”->运行“netstat-n-b”->检查“tnslsnr.exe”或“cmd.exe”->“telnet localhost 1521”->如果它打开telnet,那么Oracle侦听器正在运行,否则它会说无法连接或其他什么。