上網一查原來是oci.dll版本不對。因為Navicat是通過Oracle客戶端連接Oracle服務器的,Oracle的客戶端分為兩種,一種是標准版,一種是簡潔版,即Oracle Install Client。而我們用Navicat時通常會在自己的安裝路徑下包含多個版本的OCI,如果使用Navicat連接Oracle服務器出現ORA-28547錯誤時,多數是因為Navicat本地的OCI版本與Oracle服務器服務器不符造成的。所以我們要做的就是下載OCI使之與我們所安裝的Oracle服務器相符合。
instantclient-basic-windows.x64-12.1.0.2.0下載地址:
http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
下載完成之后解壓到任意目錄,然后打開navicat的工具----->選項------>OCI(如下圖),選擇剛剛下載的文件中的oci.dll,必須重啟Navicat才能生效。
重新鏈接oracle,問題解決。