下面这里源码!复制代码package JDBC_Oracle;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;public class ConnectionOracle {
    public static void main(String args[]) throws Exception {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection conn = DriverManager.getConnection(
                "jdbc:oracle:thin:@localhost:1521:VEOND", "scott", "tiger");
    }}图片:
相应的包我也引入了:
服务我也开了:  
可是一编译它决报监听没有打开的错误。
那位朋友知道这问题怎么解决,麻烦告诉我一下,谢谢了!  

解决方案 »

  1.   

    你的SID好像是 OraDb 吧"jdbc:oracle:thin:@localhost:1521:OraDb"
      

  2.   

    停了所有服务先启动TNSLISTENER
    在启动SERVICE
      

  3.   

    重启tomcat 试试。也有可能是你先启动tomcat后启动oracle试试。。
      

  4.   

    程序没问题啊,
    是不是这个文件没配置好tnsnames.ora?
      

  5.   

    sid没有问题又是localhost,所以不存在防火墙的问题url也是正确的。不过通过提示信息,是监听没有启动,
    确定你的监听是OK的,然后在跑程序如果再有错, 你可以运行lsnrctl status在你的机器里,查看监听的状态。
      

  6.   

    你oracle的监听配置文件没配好。你可以用客户端工具去连,应该也是连接不通的。
      

  7.   

    找到oralce下面的listener.ora文件,查看一下相关配置。
      

  8.   

    在oracle安装文件路径下 找到tnsnames.ora文件 打开 把以下内容加入进去 注意下大小写就好。先用plsql测一些 看看能否连上。veond =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = veond)
        )
      )
      

  9.   

    既然报告监听器没打开,你就打开一下监听器看看撒。进入命令行:lsnrctl start