zoukankan      html  css  js  c++  java
  • 使用jdbc连接oracle数据库时遇到的一些问题

    第一个问题:驱动名称错误

    错误截图如下:

    从错误提示可以看出,oracle少写了一个'a',手误对程序员来说是经常发生的事,有时能够及时发现纠错,有时就容易忽略。

    建议大家将写好的测试无误的保存起来,毕竟这些都是固定的写法。

    第二个问题:驱动名,数据库连接url,用户名,密码都没问题了,但是还是无法连接数据库

     错误截图如下:

    PL/SQL已连接上

    在网上找了半天,终于找到问题所在

    jdbc:oracle:thin:@192.168.16.70:1521:orcldb

    这个是数据库连接的url,orcldb是数据库服务名(SID)

    接下来打开oracle安装目录,找到listener.ora这个文件

    F:oracleproduct10.2.0db_1 etworkADMIN   这是我的文件路径

    然后打开,内容如下:

    # listener.ora Network Configuration File: F:oracleproduct10.2.0db_1NETWORKADMINlistener.ora
    # Generated by Oracle configuration tools.

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = F:oracleproduct10.2.0db_1)
    (PROGRAM = extproc)
    )
    (SID_DESC =
    (GLOBAL_DBNAME = Oracle10.bdqn.com)
    (SID_NAME = ORCL)
    )
    (SID_DESC =
    (GLOBAL_DBNAME = zuosl)
    (SID_NAME = zuosl)
    )
    )

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.16.70)(PORT = 1521))
    )
    )

    红色部分就是要连接的服务名,可以看到SID_NAME是'zuosl',不是orcldb

    接下来更改代码,把orcldb改为zuosl,测试连接

    好了,数据库连接成功。

    还有一个小问题,为什么PL/SQL顶部的数据库名称会显示orcldb呢?

    打开电脑开始菜单,找到Oracle的文件夹,里面有个NetManager

    点击打开

     

    上网了解了一下,orcldb是数据库名,而zuosl是服务名,jdbc连接数据库是要通过数据库配置的服务名来连接,所以在新建服务时,服务名最好和数据库名一致

    网上找了一篇文章,是关于Oracle实例名,数据库名的一些讲解,大家有兴趣可以看一看

    oracle实例名,数据库名,服务名等概念区别与联系【转】

  • 相关阅读:
    C语言寒假大作战01
    C语言I作业12—学期总结
    C语言I博客作业11
    C语言I博客作业10
    浅谈js模块加载方式(初级)
    浅谈.net的后台校验
    api接口访问限制
    系统操作日志表单形式构建
    RedisUtil(未完,持续更新中....)
    定时处理组件---Quartz.net
  • 原文地址:https://www.cnblogs.com/zuosl/p/4329841.html
Copyright © 2011-2022 走看看