装了 oracle 11g db 和  client 我的系统是 64位的。用 oracle 自带的sql plus 是正常的, 为了方便 我就下载了  plsql develop
但是 链接的时候  出现这种问题, 我就在网上 搜索,结果五花八门,其中大概有3个 方法 :
1.说我的 tnsnames.ora 不对,说删了之后 就ok了  我就把  admin目录下的文件删除了,但是无法解决
2.说 安装目录 不能再  program file (X86) 下,但是我没有装在这个 目录下
3.让我 用pl/sql develop 里的  preference connect 改了。但是里面就有一个选项。。改了 也没用求高人指点
 在这里说明一下,打开 plsql  输入用户名 密码 之后 ,过段时间 就出现ORA-12154 错误

解决方案 »

  1.   

    tnsnames.ora文件里你有没有配好?
    netca里看看测试能不能通过
      

  2.   

     1、首先确定你安装的客户端程序是32位的(虽然你的操作系统是64位的,且你的服务器也是64位的,但是客户端此处要求是32位的)如:ORACLE选用的是win64_11gR2_database(此处有两个文件,记得将第二个文件解压后放到第一个文件的对应目录下面),客户端程序就选用win32_11gR2_client     2,、安装完服务器和客户端程序之后,如果程序安装在D盘下面,那么就将将D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下的tnsnames文件copy到D:\app\Administrator\product\11.2.0\client_1\network\admin下面     3、telnet你的tnsnames里面的host,如:你的host的IP为127.0.0.1,那么你就在命令行里面telnet 127.0.0.1,如果能通,那么说明tnsnames配置没有问题     4、安装PL/SQL DEV,安装时要注意,win7/64位的会将文件装到Program Files (x86),()可能plsql不认识。安装plsql时稍微注意下路径,调成Program Files,路径中不带小括号。      5、用PL/SQL DEV链接数据库,链接成功。PS:如果没有链接成功,尝试在环境变量里面新建“TNS_ADMIN”变量,值为:D:\app\dsd\win32\product\11.1.0\client_1。
     
    按照我这样的思路,应该能帮你解决问题
      

  3.   


    谢谢 ,我再试一下~
    telnet 在命令行里 显示 不是 内部命令也不是可执行程序。。
      

  4.   

    Telnet命令需要安装,属于Windows功能
      

  5.   

    1.数据库名称不能出现汉字
    2. tnsnames.ora 删掉肯定是不行的,如果你不是用Client连接的,那么plsql安装目录下PLSQL\instantclient_12_1\NETWORK\ADMIN这个下面的tnsnames.ora 是起作用的那一个,要配这个文件
    3.将TNS服务启动,并重新启动plsql
      

  6.   

    它无法解析你的连接符是因为你tnsnames.ora没有配置具体的你要连接的数据库实例。如下配置:
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.222.33....)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
      

  7.   


    谢谢 ,我再试一下~
    telnet 在命令行里 显示 不是 内部命令也不是可执行程序。。
    telnet 不是window的内部命令,要安装de