【问题标题】:Error in connecting oracle 11G in localhost using JDBC使用 JDBC 在 localhost 中连接 oracle 11G 时出错
【发布时间】:2013-03-17 14:29:00
【问题描述】:
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)

【问题讨论】:

  • 您的机器上似乎没有运行任何 oracle 数据库并侦听端口 1521。
  • 并且不要在您的查询中使用;。它不需要。

标签: java jdbc


【解决方案1】:

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

【讨论】:

  • 正在启动 tnslsnr:请稍候... TNS-12560:TNS:协议适配器错误 TNS-00530:协议适配器错误
  • 在您的 SQLNET.ORA 文件中,请确保:SQLNET.AUTHENTICATION_SERVICES= (NONE)
  • 这个 SQLNET.ORA 文件在哪里,11g 的默认端口号是多少以及如何更改此端口号?
  • 在您的 oracle 安装下,只需寻找如下路径:network\admin\sqlnet.ora 即可找到该文件。默认端口是你写的 1521。
  • #sqlnet.authentication_services # # 语法:来自 {beq, none, all, kerberos5, # cybersafe, radius} 的单个值或列表 # 默认值:NONE
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 2016-03-17
    相关资源
    最近更新 更多