PLSQL连接Oracle数据库问题及详解
一、Oracle数据库安装步骤参考:https://jingyan.baidu.com/article/363872eccfb9266e4aa16f5d.html
二、Oracle客户端安装:https://www.jb51.net/article/101306.htm
三、PLSQL安装或使用免安装版本。
四、PLSQL连接Oracle问题汇总:
PLSQL Developer 连接 64位Oracle 数据库需要找到两个东东:
1、32位的 oci.dll 文件
因为PLSQL Developer 为32位软件,故在访问 Oracle 11g 64位数据库时,需首先经过32位的oci.dll这个中间人再与64位oracle 数据库通信。故在PLSQL Developer访问 64位oracle 数据库时,必须要能能找到 32位的 oci.dll文件位置。 32位 oci.dll的获取有两种方式,一是再安装一个32位Oracle 11g 客户端;二是直接从网络下载一个包含32位 oci.dll 的简易安装包。所以如果你安装64位的客户端,用plsql是连接不上数据库的。就是说如果你安装的是64位Oracle,则如果用plsql必须安装一个32位的oracle客户端。
2、ORACLE_HOME 目录(即 Oracle主目录)
找 ORACLE_HOME 是为了找到 tnsnames.ora .tnsnames.ora存储数据库连接信息。tnsnames.ora可通过”Net Configuration Assistant”配置,或直接从别的计算机上复制一个该文件放置到 Oracle客户端主目录\network\admin 中即可 。(client安装完成之后会在注册表中写入自己的ORACLE_HOME地址,所以plsql会根据此地址找到tnsnames.ora)
ORACLE_HOME主目录可以在操作系统中的环境变量中配置(尽量不要采用此办法)。
解决方法多种多样,但要实现的目标也就上面两个。
五、环境变量配置:
(正常安装情况下请不要主动配置操作系统的环境变量,后期安装client之后容易出问题,因为oracle和oracle client都会有自己的ORACLE_HOME环境变量,这些变量在注册表中是已经存在的,如果再在操作系统中添加系统环境变量,容易引起混乱,从而导致oracle监听服务无法启动等问题)


NLS_LANG
AMERICAN_AMERICA.AL32UTF8
或 SIMPLIFIED CHINESE_CHINA.ZHS16GBK

六、PLSQL设置

七、如果安装错误了客户端,需要卸载,卸载参考:https://blog.csdn.net/lanyuxinkong/article/details/49443547
八、PLSQL连接相关问题
1、打开PLSQL,输入用户名密码连接报错:ORA-12638: Credential retrieval failed
解决办法:修改sqlnet.ora文件,将 SQLNET.AUTHENTICATION_SERVICES= (NTS) 改为SQLNET.AUTHENTICATION_SERVICES= (NONE)
如果出现不让保存的权限问题,请把sqlnet.ora文件拷贝到桌面,修改之后再把原来的文件删除,把桌面文件拷贝进去就行了。
2、输入用户名密码报错:ORA-12541: TNS: 无监听程序
解决办法:windows服务中启动服务OracleOraDb11g_home1TNSListener。 如果启动不了,请删除windows环境变量中的ORACLE_HOME,因为oracle服务器和oracle客户端都有ORACLE_HOME,可能你配置的是client的oracle_home,所以服务就启动不了,干脆删除掉。注册表中有分别的ORACLE_HOME变量存储。
3、输入用户名密码登录报错:ORA-12557: TNS: 协议适配器不可加载
近期由于各种原因先后装了几个版本的Oracle数据库及客户端,具体:
1、首先安装了32位的数据库
2、接着安装了32位的Client端
3、最后安装了64位的Client端
期间设置过ORACLE_HOME的路径指向第一步安装的数据库路径。
然后就遇到如下问题:
1、需要64位Oracle Client的程序启动不成功,【报协议适配器不可加载】的错误。解决方案:将ORACLE_HOME指向安装的64位Client的路径即可
2、解决上面的问题后,Toad和PL/SQL等客户端连接数据库报【报协议适配器不可加载】的错误,说明这些程序用的是32位的连接程序,更改ORACLE_HOME又不可取,因为又会回到问题1。
最终解决方案:删除环境变量ORACLE_HOME,两个问题迎刃而解
个人分析应该是各程序会自动检测适用的Oracle连接程序版本,设置ORACLE_HOME后,反倒人为指定了程序使用的Oracle连接程序版本,造成32位和64位混乱的情况。
另外重要的一点,环境变量生效需要输入命令或者重启操作系统,所以有些问题解决不了,重启操作系统就好了。
至此,PLSQL连接ORACLE数据库中间会遇到的坑你基本已经踩完了,下面就开始你的PLSQL之旅吧。
PLSQL连接Oracle数据库问题及详解的更多相关文章
- ASP.NET连接Oracle数据库的步骤详解(转)
ASP.NET连接Oracle数据库的步骤详解 本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助. 在用ASP.NET开发应用程序时, ...
- 通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库
通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库. 首先下载安装包在Oralce官方网站上下载Oracle Instantclient Basic package.地址如 ...
- plsql连接oracle数据库,不用配置任何东西(转)
在软件开发的过程中,对于使用oracle的朋友们来说,使用plsql工具操作oracle数据库是非常方便的,可是plsql连接oracle数据库的方式有很多种,今天就给大家介绍一种最简单的连接方式,只 ...
- plsql 连接oracle数据库的2种方式
plsql 连接oracle数据库的2种方式 CreationTime--2018年8月10日09点50分 Author:Marydon 方式一:配置tnsnames.ora 该文件在instan ...
- 关于 plsql连接oracle数据库的问题
因电脑没有 安装oracle服务器端,所以安装plsql后还是不能连接oracle数据库,网上下载一个oracle客户端工具,是绿色免安装的,解压就好.我放我云盘了. instantclient_11 ...
- 不安装Oracle客户端使用PLSQL连接Oracle数据库的方法
1,下载PL\SQL http://dl8.cr173.com/soft1/PLSQLDeveloper10_ha.zip(这个是我下载的,带破解和汉化); 2,下载完后傻瓜式安装 ,这里说下,1是P ...
- Oracle数据库的安装详解
1.写在安装前的话 可能有很多的菜鸟十分害怕大型软件的安装,因为安装过程中的一些错误很让他们头疼.下面我就写一个教程,希望能对大家有帮助,在安装ORACLE之前给大家一点点的意见: (1)尽量要安装L ...
- navicat和 plsql 连接oracle数据库 总结
打开 navicat -->工具-->选项-->oci 右侧选择oci.dll 的路径 默认 在 navicat的安装目录下有一个 instantclient 的文件夹 直接选 ...
- plsql连接oracle数据库
步骤 (1)线上安装oracle数据库(已配好) (2)本地远程连接.安装oracle客户端(运行时) (3)安装plsql. (4)oracle客户端可以不用配置,直接在plsql中数据访问验证
随机推荐
- Delphi 集合和字符串互转
集合和字符串互转 集合: type TSocketState = (ssDisconnecting, ssDisconnected, ssConnected, ssConnecting, s ...
- DevExpress控件TExtLookupComboBox实现多列模糊匹配输入的方法
本方案不需要修改控件源码,是完美解决支持多列模糊匹配快速输入的最佳方案!! 1.把列的Properties属性设置为ExtLookupComboBox. Properties.Incrementa ...
- printf 输出% 和 \
在小白第一章后面1.5.3中有仨题: 1 试着把%d中的两个字符(百分号和小写字母d)输出到屏幕. 2 试着把\n中的两个字符(反斜线和小写字母n)输出到屏幕. 3 像 1.2这样需要“特殊方法”才能 ...
- Lazarus 0.9.26——UTF8编码副作用
Lazarus 0.9.26中,涉及范围最广的的改变就是所有的的String默认都采用UTF8编码,IDE终于有了完全的UTF8支持,以前在源码编辑器中“吃掉”半个汉字的情况不再出现.对于Linux下 ...
- ajax用户名存在检测
一.ajax请求的四个步骤: 1.创建ajax对象 var xmlhttp=new XMLHttpRequest();//IE5,IE6以外的浏览器 var xmlhttp=new ActiveXOb ...
- linux 2.6.32文件系统的inode
接上文: crash> struct -xo dentry.d_inode ffff8818118002c0 struct dentry { [ffff8818118002d0] struct ...
- Rust语言学习笔记(6)
Traits(特质) // 特质 pub trait Summary { fn summarize(&self) -> String; } pub struct NewsArticle ...
- 【357】sorted 函数高级用法
参考:Python 内置函数sorted()在高级用法 - Brad1994 - 博客园 sorted 函数主要实现的就是对于可迭代对象进行排序,对于一维数据排序很好理解与实现,直接调用即可,本文主要 ...
- Linux性能测试分析命令_iostat
iostat用于输出CPU和磁盘I/O相关的统计信息 iostat语法 用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]] 常用选项说明: -c:只显示系统 ...
- C# winform进度条 (异步)
进度条页面: http://www.cnblogs.com/Deckard/archive/2009/06/24/1510451.html //============================ ...