win10下安装PLSQL14连接Oracle数据库

问题背景

在使用Oracle开发过程中,经常会使用工具来连接数据库,方便查询、处理数据。其中有很多工具可以使用,比如dbeaver、plsql等。本文主要介绍在win10环境下,plsql14的安装步骤以及安装过程中遇到的一些问题。


安装步骤及问题

安装环境:
系统:win10 64位。
Oracle客户端:win32_11gR2_client。
plsql:plsqldev1405x64。

安装步骤:

  1. 安装Oracle客户端。
    安装步骤比较简单,可参考《oracle 11gR2 client(oracle客户端的安装)》
    重点说下遇到的问题。当解压后,点击setup.exe出现报错,环境不满足最低要求。如下图所示。 在这里插入图片描述
    解决方案:
    在client安装文件的解压文件中找到cvu_prereq.xml,路径一般在stage/cvu/下,然后使用记事本打开。增加以下代码,如图所示:
<OPERATING_SYSTEM RELEASE="6.2">
    <VERSION VALUE="3"/>
    <ARCHITECTURE VALUE="64-bit"/>
    <NAME VALUE="Windows 10"/>
    <ENV_VAR_LIST>
        <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
    </ENV_VAR_LIST>
</OPERATING_SYSTEM>

在这里插入图片描述
配置完成后,再次点击setup.exe即可正常安装。

  1. 配置Tnsnames.ora文件
    按照上述安装文档,添加监听后,就可以在client的安装路径下*\oracle\product\11.2.0\client_1\network\admin,找到tnsnames.ora文件。
ORCL =          #数据库实例名
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.200.145)(PORT = 1521))   #连接数据库IP和端口
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)   #数据库服务名
    )
  )

可以根据实际需求,进行修改,修改的字段为上述注释部分。

  1. 安装plsql。
    此处不再赘述,安装步骤很简单。
    需要注意的是,在安装时,需要选择是试用版,还是选择直接输入激活版。如果选择激活,那么激活码需要自行获取。

  2. 配置plsql,并启动使用。
    安装完成后,首先增加两个环境变量。
    变量名:ORACLE_HOME
    变量值:Oracle客户端的安装路径。在这里插入图片描述
    变量名:TNS_ADMIN
    变量值:Oracle客户端的安装路径。
    在这里插入图片描述

    配置完成后,无需登录,直接进入到plsql,找到configure下的preferences,如下图所示。
    在这里插入图片描述
    修改配置,增加Oracle home和OCI library。这两个路径均为Oracle客户端的安装路径。 在这里插入图片描述
    完成后,重启plsql,进行输入,出现报错Could not initialize oci.dll。这个问题的主要原因是安装完后Oracle的 oci.dll 是32位的,而64位应用程序 PLSQL Developer 无法加载,或者相反。
    解决方案:
    下载一个适配64位系统的OCI。
    下载地址:
    https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

在这里插入图片描述
注意:下载需要登录Oracle账号。如果没有账号,又不想注册,可以使用以下方式。登录以下网址(Oracle.com logins),里面提供部分Oracle内部账户及密码,我们可以临时使用这些账户来下载。
在这里插入图片描述

在这里可以找到适配的instantclient,将该文件解压到任意文件夹下,此处我解压到了Oracle客户端的安装目录下。然后在plsql中的preferences,重新选择instantclient下的OCI。
在这里插入图片描述
完成以上步骤,输入Oracle数据库的用户名、密码就可以正常登录了。


其他问题

使用plsql进行查询,发现中文出现乱码。数据全部展示为了问号。原因主要是由于oracle客户端和服务器端的编码方式不一样。为了验证是否是编码格式问题,进行以下操作。

首先查看数据库的字符集。

select userenv('language')from dual

在这里插入图片描述
然后查看本地字符集。

select * from V$NLS_PARAMETERS

在这里插入图片描述
此时发现本地字符集与数据库字符集不一致。

解决方案:
增加环境变量,保证本地与数据库服务端字符集一致。
变量名:NLS_LANG
变量值:AMERICAN_AMERICA.ZHS16GBK
在这里插入图片描述
配置完成后,再次重启plsql,进行查询,可以看到已经解决了乱码问题。

如果这篇博客对大家有所帮助,我希望能得到各位的免费点赞收藏,作为对我的鼓励和支持。
同时,也请大家在评论区留下您宝贵的意见和建议,我将非常欢迎。
感谢大家的支持评论收藏!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/765198.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TensorRT学习(二)TensorRT使用教程(Python版)

本文适合快速了解TensorRT使用的整体流程,具体细节还是建议参考TensorRT的官方文档。 加速原理: 加速原理比较复杂,它将会根据显卡来优化算子,以起到加速作用(如下图所示)。简单的来说,就是类似于你出一个公式1+1+1,而你的显卡支持乘法,直接给你把这个公式优化成了1*…

scikit-learn教程

scikit-learn&#xff08;通常简称为sklearn&#xff09;是Python中最受欢迎的机器学习库之一&#xff0c;它提供了各种监督和非监督学习算法的实现。下面是一个基本的教程&#xff0c;涵盖如何使用sklearn进行数据预处理、模型训练和评估。 1. 安装和导入包 首先确保安装了…

controller不同的后端路径对应vue前端传递数据发送请求的方式,vue请求参数 param 与data 如何对应后端参数

目录 案例一&#xff1a; 为什么使用post发送请求&#xff0c;参数依旧会被拼接带url上呢&#xff1f;这应该就是param 与data传参的区别。即param传参数参数会被拼接到url后&#xff0c;data会以请求体传递 补充&#xff1a;后端controller 参数上如果没写任何注解&#xff0c…

【附精彩文章合辑】为何选择TypeScript?转变的驱动力:Rust的魅力何在?

在探讨一个开发者团队耗时18个月从TypeScript转向Rust&#xff0c;并随后对TypeScript进行严厉批评的情境时&#xff0c;我们首先需要认识到&#xff0c;任何技术栈的选择与转换都是基于一系列复杂的考量&#xff0c;包括但不限于项目需求、性能瓶颈、团队技能、长期可维护性以…

VGPU的使用

&#xff08;作者&#xff1a;陈玓玏&#xff09; 开源项目&#xff0c;欢迎star哦&#xff0c;https://github.com/data-infra/cube-studio 训练AI模型以及部署模型推理服务时&#xff0c;GPU往往是必不可少的&#xff0c;但当我们机器上没有足够的GPU卡可使用时&#xf…

探索未来远程调试新纪元——《串口网口远程调试软件》:无缝连接,高效调试

文章目录 前言一、无缝连接&#xff0c;突破距离限制二、高效调试&#xff0c;提升工作效率三、安全可靠&#xff0c;保护数据安全四、用户友好&#xff0c;简化操作流程五、软件地址六、远程调试软件 七、基本操作1、订阅主题2、连接3、串口调试4、网口调试 八、软件地址结束语…

【问题记录】如何在xftp上查看隐藏文件。

显示隐藏的文件夹 用xftp连接到服务器后&#xff0c;发现有些隐藏的文件夹并未显示出来&#xff0c;通过以下配置&#xff0c;即可使隐藏的文件夹给显示出来。 1.点击菜单栏的"小齿轮"按钮&#xff1a; 2.勾选显示隐藏的文件夹&#xff1a; 3.点击确定即可。

MES系统如何帮助企业提高生产效率

万界星空科技推出的制造执行MES系统&#xff0c;通过一系列先进的技术手段和管理理念&#xff0c;显著提高了制造业工厂的生产效率。以下是MES系统帮助提高生产效率的详细分析&#xff1a; 一、实时监控与快速响应 实时监控生产状态&#xff1a;MES系统能够实时采集生产线上的…

java 代码块

Java中的代码块主要有三种类型&#xff1a;普通代码块、静态代码块、构造代码块。它们的用途和执行时机各不相同。 普通代码块&#xff1a;在方法内部定义&#xff0c;使用一对大括号{}包围的代码片段。它的作用域限定在大括号内&#xff0c;每当程序执行到该代码块时就会执行其…

SpringMVC的基本使用

SpringMVC简介 SpringMVC是Spring提供的一套建立在Servlet基础上&#xff0c;基于MVC模式的web解决方案 SpringMVC核心组件 DispatcherServlet&#xff1a;前置控制器&#xff0c;来自客户端的所有请求都经由DispatcherServlet进行处理和分发Handler&#xff1a;处理器&…

linux中如何启动python虚拟环境

找到python虚拟环境所在目录 执行下面的命令即可 source auth_python/bin/activate

linux 下neo4j的安装

一、neo4j简介 Neo4j 是一个高性能的 NoSQL 图形数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j 也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。 neo4j与jdk版本对应 neo4j的版本需要与jdk版本相适配,否则容易出现安装失…

数据库原理之数据库基本概念

目录 前言 基本概念 数据库完整性 前言 今天我们来看看数据库的基本概念&#xff0c;帮助大家对数据库有一点点最基本的了解 基本概念 4个基本概念 数据data&#xff1a;描述事物的符号&#xff0c;数据库中存储的基本对象。 数据库Database&#xff1a;长期存储在计算机…

CentOS 7 搭建rsyslog日志服务器

CentOS 7 搭建rsyslog日志服务器 前言一、IP地址及主机名称规划1.修改主机名 二、配置rsyslog日志服务器1.安装rsyslog服务2.编辑/etc/rsyslog.conf 文件3.启动并启用rsyslog服务4.验证端口是否侦听 三、在rsyslog日志服务器上配置firewalld防火墙四、配置rsyslog日志客户端1.编…

25考研:今年初试时间比去年更早了?

过去5年考研初试时间安排如下&#xff1a; 24考研&#xff1a;2023年12月23-24日&#xff08;倒数第二个周末&#xff09; 23考研&#xff1a;2022年12月24-25日&#xff08;倒数第二个周末&#xff09; 22考研&#xff1a;2021年12月25-26日&#xff08;最后一个周末&#xf…

opencascade AIS_InteractiveContext源码学习7 debug visualization

AIS_InteractiveContext 前言 交互上下文&#xff08;Interactive Context&#xff09;允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是&#xff0c;对于已经被交互上下文识别的交互对象&#xff0c;必须使用上下文方法进行…

数据加密解密和哈希的解析

[S1301]数据的加解密 对提供的原始数据&#xff08;字符串或者二进制数组&#xff09;进行加密是数据保护框架体提供的基本功能&#xff0c;接下来我们利用一个简单的控制台程序来演示一下加解密如何实现。数据的加解密均由IDataProtector对象来完成&#xff0c;而该对象由IDa…

FormLayout布局和FormItem对比

FormLayout布局和FormItem对比 FormLayout布局 package mainimport ("fyne.io/fyne/v2""fyne.io/fyne/v2/app""fyne.io/fyne/v2/container""fyne.io/fyne/v2/layout""fyne.io/fyne/v2/widget" )func main() {myApp : app.…

vulnhub靶场ai-web 2.0

1 信息收集 1.1 主机发现 arp-scan -l 主机地址为192.168.1.4 1.2 服务端口扫描 nmap -sS -sV -A -T5 -p- 192.168.1.4 开放22&#xff0c;80端口 2 访问服务 2.1 80端口访问 http://192.168.1.4:80/ 先尝试admin等其他常见用户名登录无果 然后点击signup发现这是一个注…

【Rust入门教程】hello world程序

文章目录 前言Hello World程序运行总结 前言 对于学习任何一种新的编程语言&#xff0c;我们都会从编写一个简单的Hello World程序开始。这是一个传统&#xff0c;也是一个开始。在这篇文章中&#xff0c;我们将一起学习如何在Rust中编写你的第一个程序&#xff1a;Hello Worl…