当前位置: 代码迷 >> PB >> [100分] PB10报ORA-12154,该如何解决
  详细解决方案

[100分] PB10报ORA-12154,该如何解决

热度:36   发布时间:2016-04-29 07:02:00.0
[100分] PB10报ORA-12154
本帖最后由 qiyj1983 于 2012-09-26 17:12:02 编辑
用PL/SQL能正常登录。连接服务器的oracle没问题,本机的oracle就报错。
用PB自带的database连接oracle时,报ORA-12154。

listener.ora:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    ) 
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = soeasy)(PORT = 1521))
    )
  )

tnsnames.ora:

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

// Profile 2local
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogPass = <******>
SQLCA.ServerName = "orcl"
SQLCA.LogId = "soeasy"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='soeasy'"

哪位高手帮帮我,已经纠结好几天了。

------解决方案--------------------
1.如果连接的是本机,把servername不填试试

2.检查是不是计算机上安装了2个以上的oracle或者客户端

3.连接数据库需要看tnsnames.ora,看一下里面是否有orcl的tns

------解决方案--------------------
ORCL =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  )
  (CONNECT_DATA =
  (SERVICE_NAME = orcl)
  )
  )

上面的service_name应该是你的机器名或者是要连接的服务器名
------解决方案--------------------
接上面:而sqlca.servername则是你的连接串ORCL
  相关解决方案