Java Oracle 11g连接

Java Oracle 11g连接,java,oracle11g,Java,Oracle11g,我正在使用Oracle11g,并在类路径中设置了ojdbc6.jar。当我尝试使用以下代码连接数据库时: //JdbcTest.java import java.sql.*; public class JdbcTest { public static void main(String args[])throws Exception { Class.forName("oracle.jdbc.driver.OracleDriver"); Conne

我正在使用Oracle11g,并在类路径中设置了ojdbc6.jar。当我尝试使用以下代码连接数据库时:

//JdbcTest.java


import java.sql.*;
public class JdbcTest
{
    public static void main(String args[])throws Exception
    {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
        Statement st=con.createStatement();
        ResultSet rs = st.executeQuery("select * from dept");
        while(rs.next())
        {
            System.out.println(rs.getInt(1)+ " " + rs.getString(2) + " " + rs.getString(3));
        }

        rs.close();
        st.close();
        con.close();
    }
}`
我得到以下错误:

Exception in thread "main" java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:489)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:553)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:528)
        at java.sql.DriverManager.getConnection(DriverManager.java:571)
        at java.sql.DriverManager.getConnection(DriverManager.java:215)
        at JdbcTest.main(JdbcTest.java:12)
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

        at oracle.net.ns.NSProtocol.connect(NSProtocol.java:399)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1140)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)
        ... 7 more
Press any key to continue . . .`
可能的重复更可能是的重复,因为您正在尝试连接到服务名称,所以需要使用服务名称语法
# tnsnames.ora Network Configuration File: E:\Java\ProgramFiles\Oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )