`

plsql连接数据库的两个问题

 
阅读更多

问题一:plsql登录页面database下拉框空白 

解决办法:设置系统环境变量TNS_ADMIN,因为我装了客户端就把值设为E:\app\chan\product\instantclient_11_2\network\admin问题解决

问题二:ORA-12154:TNS:无法解析指定的连接标识符,情况如下:

1.配置orcle客户端配置新的网络服务添加不了,不过也不影响在tnsnames.ora中添加了配置数据

2.oracle客户端先装后才装的服务端

3.tnsping命令结果显示读取的是服务端的sqlnet文件

4.plsql的connect节点已经配向客户端目录及文件

5.sqlplus能够读取服务端tnsnames.ora文件的连接符

6.plsql只能读取安装服务端之前的一个连接符,其他任何连接符都无效

 

按照下面一篇文章的解决方法,没解决到,算了直接在database里写地址端口服务名也行,麻烦一点就是了

 

转自:https://www.cnblogs.com/psforever/p/3929064.html

 相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。

      在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库可以通过直接指定IP的方式连接,但是Oracle则需要通过Oracle客户端配置网络服务名的方式来连接。否则就会出现“ORA-12154: TNS: 无法解析指定的连接标识符”。配置Oracle客户端详细步骤如下:
      安装好Oracle客户端之后,在开始菜单中依次找到“Oracle - OraClient10g_home1—>配置和移植工具—>Net Manager”并打开(Win7,Win8用户如果没有取得Administrator账号登陆需要以管理员方式运行),依次展开“Oracle Net配置—>本地—>服务命名”点击左侧“加号”配置新的网络服务

 

      最后,点击“下一步”完成即可,如果不知道或者忘记Oracle服务名可以通过查看服务获得,比如我这里配置的主机名是我本机,在我的电脑服务中找到oracle相关的服

通过上面的服务名称,可以看出我安装的服务名就是“ORCL”,或者在服务端通过SQL Plus使用sys账号登陆,输入命令
show parameter service_name查看。
OracleDBConsoleORCL是Oracle网页端管理工具的服务,访问地址一般为“http://127.0.0.1:1158/em/console/logon/logon”,如果不习惯用这个来管理数据库可以不用启动。
OracleJobSchedulerORCL是管理Oracle中计划任务的,一般不用启动。
OracleOraDb10g_home1iSQL*Plus是SQL Plus的服务,如果不习惯在命令行下面操作数据库,可以不用启动。
OracleServiceORCL,OracleOraDb10g_home1TNSListener都需要开启,前者是主服务,后者是监听服务。

     当在Oracle客户端中配置好Net Manager中配置好服务后就可以通过我们配置的网络服务名访问Oracle数据库了,此配置实质想D:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora中增加了一行配置(由于我的Oracle是安装在D盘Oracle目录中,具体路径根据安装时选择的路径而定)。

复制代码
# tnsnames.ora Network Configuration File: d:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )
复制代码

    如果在同一台电脑上面同时安装了Oracle客户端和服务端,那么在服务端的安装目录中也会存在同样的配置文件D:\Oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,在这种情况下如果我们配置好了客户端Net Manager然后连接Oracle数据库,可能会出现“ORA-12154: TNS: 无法解析指定的连接标识符”这时,你就应该怀疑,我到底访问的是哪个路径下的配置文件呢?此时可以使用tnsping命令

 

      如果你是在客户端Net Manager中配置的网络服务,但是此时解析出来的使用参数文件却是D:\Oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora,那么我想你应该明白了。这种情况有两种解决办法:
      第一:在服务端的Net Manager也配置相同的网络服务,或者直接拷贝D:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora中的配置到D:\Oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,每次配置了新的网络服务你都需要这么做,如果不想这么麻烦那就使用第二种解决办法。     
      第二:修改系统环境变量Path值,将D:\Oracle\product\10.2.0\client_1\bin;路径移至D:\Oracle\product\10.2.0\db_1\bin;前面即可一劳永逸。
      注意:造成以上这种情况出现的原因是:在一台电脑上同时安装了oracle客户端和数据库服务,并且是先安装客户端,再安装数据库服务造成的,如果先安装数据库服务,再安装客户端就不会出现这种情况了。
      根据以上方式配置完oracle后,相信在程序中就可以正常连接oracle数据库了。

      当我安装好PLSQL Developer软件后登陆时任然出现了“ORA-12154: TNS: 无法解析指定的连接标识符”,如果是Win7,Win8用户甚至可以会出现弹出一个白框的情况,这时需要以管理员身份运行PLSQL Developer,并且确保你的PLSQL Developer是读取的oracle客户端配置,直接取消登陆,在PLSQL Developer工具栏中找到“Tools—>Preferences”,在Oracle的Connection节点中找到Oracle Home选择OraClient10g_home1,保存后关闭PLSQL Developer就可以正常登陆了。

 

     需要注意的是,在安装PLSQL Developer时不能安装在带有括号的目录中,如64bit系统的Program Files (x86)目录,就会出现无论你怎么设置,它依然不停的弹出“ORA-12154: TNS: 无法解析指定的连接标识符”。同样的问题也会出现在其他Oracle数据库管理软件中,比如Toad for Oracle

     “ORA-12154: TNS: 无法解析指定的连接标识符”是使用Oracle数据库的新手遇到的比较常见的问题之一,只要我们了解了它的工作方式,冷静排查,相信很容易就能够找到问题的解决办法的。

分享到:
评论

相关推荐

    PLSQL连接64位数据库

    标题中的“PLSQL连接64位数据库”指的是在Oracle数据库为64位环境下,如何使用PLSQL Developer这个数据库管理工具进行连接。这个问题通常出现在你安装的Oracle客户端与服务器端的位数不匹配的情况下,PLSQL ...

    使用PLSQL 创建Oracle数据库用户并设置权限

    在本例中,我们至少分配了 connect 和 resource 两个角色权限。 系统权限是指用户在数据库中的系统权限,例如 unlimited tablespace 等。在本例中,我们至少分配了 unlimited tablespace 权限。 配额权限是指用户...

    PLSQL,数据库连接工具

    SQL Developer还支持数据库连接、数据查询、数据导出、表和视图的设计,以及数据库对象的管理,极大地提高了开发效率。 综上所述,PLSQL是Oracle数据库开发的核心组成部分,对于理解和掌握数据库管理和应用开发至关...

    plsql+sqlDbx数据库连接工具

    本文将深入探讨“plsql”与“sqlDbx”这两种广受欢迎的数据库连接工具,以及它们如何帮助用户更好地管理和操作数据库。 首先,让我们了解下“plsql”。PL/SQL(Procedural Language/Structured Query Language)是...

    plsql数据库开发软件(已解压)

    在本资源中,我们得到了一个已经解压的PLSQL Developer软件包,这是一款强大的Oracle数据库管理与开发工具,特别适合数据库管理员和开发者进行数据库设计、调试、执行SQL语句以及管理数据库对象。 PLSQL Developer...

    plsql免安装

    这样,当你在PL/SQL Developer中连接数据库时,就可以使用“MYDB”作为连接别名。 2. **配置环境变量**: 主要是设置ORACLE_HOME和PATH两个环境变量。ORACLE_HOME应指向你的Oracle客户端软件的安装目录,而PATH则...

    PLSQL Developer无法连接64位Oracle的解决方法

    为了确保PLSQL Developer能够正常工作,还需要设置两个重要的环境变量: 1. **TNS_ADMIN**:此环境变量指向64位Oracle的TNS文件所在目录。通常情况下,该目录位于安装路径下的`NETWORK\ADMIN`文件夹中。例如,如果...

    PLSQL工具和oracle客户端的连接方法

    主要有两个关键部分:Oracle Instant Client和Oracle SQL Developer。Oracle Instant Client是一个轻量级的客户端,包含运行PL/SQL所需的基本库,而Oracle SQL Developer则是一个免费的集成开发环境(IDE),用于...

    plsqlDeveloper工具连接远程oracle

    在 ORACLE_HOME/network/admin 目录下新建两个文件 listener.ora 和 tnsnames.ora。listener.ora 文件用于配置监听服务的参数,tnsnames.ora 文件用于存储 Oracle 数据库实例的连接信息。listener.ora 文件的内容...

    plsql连接64位oracle报错instantclient或没有connect by 选项问题

    在配置时,`Basic` 和 `BasicLite` 两个包中至少选择一个,其他包则可根据实际需求选择是否安装。 遵循上述步骤,不仅能解决 PL/SQL Developer 连接 64 位 Oracle 数据库时出现的问题,还能确保 `Connect By` 功能...

    ORACLE数据库设计(SQL&PLSQL)

    - **配置网络服务名**:通过`tnsnames.ora`文件,我们可以定义网络服务名,方便用户以服务名而非IP地址和端口号来连接数据库。 2. **管理用户访问**: - **表空间、用户及方案**:表空间是存储数据库对象(如表、...

    PLSQL经常自动断开解决

    ### 描述解析:用PLSQL连接数据库操作时经常自动断开,解决方法如下 描述部分给出了问题的具体表现和解决思路的方向。当使用PL/SQL Developer连接到数据库并执行操作时,如果连接在没有明显原因的情况下中断,那么...

    oracle数据库连接软件—plsql devlope9

    在标签中,"oracle"和"plsql"是两个关键术语。"oracle"指的是Oracle数据库系统,它是企业级数据库解决方案的核心;而"plsql"则强调了这个工具与Oracle数据库的PL/SQL编程语言的紧密关联。 至于压缩包内的文件...

    关于plsql连接远程oracle服务器配置心得体会

    每个连接信息包括ADDRESS_LIST和CONNECT_DATA两个部分。ADDRESS_LIST部分指定了数据库的主机名和端口号,而CONNECT_DATA部分指定了数据库的服务名。 3. 在系统环境变量中增加指向C:\instantclient_11_2\NETWORK\...

    plsql连接oracle的包

    新增下面两个变量 变量名:TNS_ADMIN 变量值:D:\IT\plsql_oracle\instantclient_12_1 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK --这个解决plsql内部操作语句乱码3,把数据库信息添加至 ...

    plsql在本机怎么访问服务器上的Oracle数据库

    上述配置主要集中在`tnsnames.ora`和`listener.ora`两个关键文件上。它们通常位于Oracle客户端安装目录下的`network\admin`子目录中,如示例中的`F:\app\Administrator\product\11.1.0\client_1\network\admin`。...

Global site tag (gtag.js) - Google Analytics