第一个问题:驱动名称错误
错误截图如下:
从错误提示可以看出,oracle少写了一个‘a‘,手误对程序员来说是经常发生的事,有时能够及时发现纠错,有时就容易忽略。
建议大家将写好的测试无误的保存起来,毕竟这些都是固定的写法。
第二个问题:驱动名,数据库连接url,用户名,密码都没问题了,但是还是无法连接数据库
错误截图如下:
PL/SQL已连接上
在网上找了半天,终于找到问题所在
jdbc:oracle:thin:@192.168.16.70:1521:orcldb
这个是数据库连接的url,orcldb是数据库服务名(SID)
接下来打开oracle安装目录,找到listener.ora这个文件
F:\oracle\product\10.2.0\db_1\network\ADMIN 这是我的文件路径
然后打开,内容如下:
# listener.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\product\10.2.0\db_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连接数据库是要通过数据库配置的服务名来连接,所以在新建服务时,服务名最好和数据库名一致