摸了好久还是没琢磨出什么来``java连接oracle,用的驱动是ojdbc6.jar.
有谁能帮提点提点`?
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class TestJDBC { public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
try {
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:yisworld", "scott",
"tiger");
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}java.sql.SQLRecoverableException: Io 异常: The Network Adapter could not establish the connection
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:458)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:465)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at TestJDBC.main(TestJDBC.java:12)

解决方案 »

  1.   

     jdbc:oracle:thin:@localhost:1521:yisworld", "sys as dba" ,"sys",  试试
      

  2.   

    检查一下 Oracle 服务和监听器是否正确启动了。如果使用 Windows 的话,在命令行下输入:[code=BatchFile]C:\>netstat -ano | find ":1521"[/code]如果启动的话会在第二列看到两个 1521 端口,其中 0.0.0.0:1521 是监听器,另一个是 Oracle 服务。写了个 port.bat 文件,用于在 Windows 命令行状态下查看端口占用情况(把下面的代码保存为一个 bat 文件,
    放在任意的可执行文件搜索路径中)[code=BatchFile]@echo off
    if "%1" == "" goto all
    netstat -ano | find ":%1">nul && (
      echo   协议   本地地址               外部地址               状态            PID
      netstat -ano | find ":%1"
    ) || echo 没有找到端口号为 %1 的进程
    goto end
    :all
    netstat -ano
    :end
    echo on[/code]在命令行中使用 port 1521 就能直接找了。
      

  3.   


    达内``??我上大二的``现在在自学java``可以一起探讨哈`