• 使用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实例名,数据库名,服务名等概念区别与联系【转】

  • 相关阅读:
    A. Ivan the Fool and the Probability Theory
    关于消除“输出中最后的一个空格”问题
    半文件式输入中一种常见的输入方式
    持续输入问题
    汉诺塔问题
    给定两个正整数,求它们的最大公约数。
    第三届全国高校绿色计算机大赛(初赛题目)
    第三届全国高校绿色计算机大赛(初赛题目)
    C++中的输入及其原理简析
    流感传染
  • 原文地址:https://www.cnblogs.com/zuosl/p/4329841.html
Copyright © 2020-2023  润新知