第一個問題:驅動名稱錯誤
錯誤截圖如下:

從錯誤提示可以看出,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連接數據庫是要通過數據庫配置的服務名來連接,所以在新建服務時,服務名最好和數據庫名一致
網上找了一篇文章,是關于Oracle實例名,數據庫名的一些講解,大家有興趣可以看一看
oracle實例名,數據庫名,服務名等概念區別與聯系【轉】
新聞熱點
疑難解答