使用JDBC在localhost中连接oracle 11G时出错

时间:2013-03-17 14:29:00

标签: java jdbc

import java.sql.*;

public class one {

    public static void main(String[] args)

    {
            Connection conn=null;
        Statement stmt=null;

        try
        {
        Class.forName("oracle.jdbc.driver.OracleDriver");
            conn=DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/ecom","system","manager");
        stmt=conn.createStatement();
        String str="insert into country values(3,'bangladesh');";
        int k=stmt.executeUpdate(str);
        System.out.println(k);
            }
        catch(Exception e)
        {
            e.printStackTrace();

        }

    }
    }

我添加到类路径的唯一jar文件是ojdbc6.jar是否需要连接oracle 11g(11.2.0.1.0)所需的其他jar我使用eclipse作为IDE

这是错误

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(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at one.main(one.java:17)
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
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocket`Impl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:141)

2 个答案:

答案 0 :(得分:1)

1)请确保数据库主机名,端口号或数据库实例名称正确无误。 2)确保已启动TNSListener(运行lsnrctl start)

答案 1 :(得分:0)

连接字符串格式错误。它应该是 “ jdbc:oracle:thin:// @ localhost:1521 / ecom” 注意//和@的换位。