windows下plsql连接linux下的oracle数据库

经过多方查找,终于找到解决办法,特此记录下来,共享之。

PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本。

首先确定Oracle在linux环境下可以运行。

第一步,以oracle用户登上Linux系统进行如下操作

● 查询监听状态:lsnrctl status

● 如果监听没打开,则打开监听服务:lsnrctl start

● 以sysdba身份连接数据库:sqlplus  /  as sysdba

● 打开数据库:startup

可以成功运行之后去oracle官方网站(https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html)

下载instantclient-basic-windows.x64-xxxxx.zip (Oracle数据库对应到版本)。我的数据库版本oracle-database-xe-18c-1.0-1.x86_64 下载了instantclient-basic-windows.x64-18.5.0.0.0dbru.zip,

解压到D:\System Programming\PLSQL Developer\(解压路径可以自定义)。

打开解压的文件夹,新建目录network,在network下面再建子目录admin,把oracle配置文件tnsnames.ora放入admin文件夹中(即目录结构为:

D:\System Programming\PLSQL Developer\instantclient_18_5\network\admin\tnsnames.ora)。

tnsnames.ora最好是到linux下的oracle主目录中拷贝(最好不要自己编写), 

不知道tnsnames.ora存放目录的可以用一下命令自行搜索: 

[oracle@localhost ~]$ locate tns 

通过拷贝过来的tnsnames.ora要打开把HOST一项改成虚拟机中linux系统的IP地址。  

tnsnames.ora修改可以为:

 

 

第一次使用PLSQL登录时直接点Cancel,以无登录的状态打开PLSQL,如下图:

 

 

 

instantclient设置完之后,只要在配置一下PL/SQL Developer即可。 

启动PL/SQL Developer之后,打开tools下的preferences对话框, 

在connection项里面把Oracle Home设置成D:\System Programming\PLSQL Developer\instantclient_18_5\ (解压缩的目录); 

OCI Library设置成D:\System Programming\PLSQL Developer\instantclient_18_5\oci.dll。

  

重启登陆,就可以在登陆界面看到相应的数据库。 
等于说PL/SQL Developer连接的数据库用到的IP地址,数据库名等配置信息都存放在tnsnames.ora中。

注:Database(可以输入如:192.168.32.158/XE)

 

windows下plsql连接linux下的oracle数据库的更多相关文章

  1. 连接Linux服务器操作Oracle数据库

    连接Linux服务器操作Oracle数据库   由于项目已经上线,现场的数据库服务器不允许直接用Oracle的客户端plsqldev.exe来连接,只能通过Linux服务器的命令来操作. 以下是用Se ...

  2. 记录Window系统下myeclipes连接linux下mysql所出现的一个bug

    记录myeclipes远程连接mysql所出现的一个bug 今天在玩框架hibernate时,出现一个非常费解的bug,话不多说,先看bug Access denied for user 'root' ...

  3. PLSQL连接虚拟机中的Oracle数据库

    下面这个连接对以后虚拟机安装非常有用!!! https://blog.csdn.net/lixin5456985/article/details/81670095

  4. 解决Windows下文件在Linux下打开出现乱码的问题

    目录 问题 原理 解决 总结 参考资料 问题 前几天生病了,Java一直在看代码但是没跟着打,于是决定偷一波小小的懒,直接把教材的代码从Windows通过共享文件夹放到了Linux里面.但是编译的时候 ...

  5. Mac下如何连接linux服务器(SSH)-比较好用的SSH工具推荐

    Mac下如何连接linux服务器(SSH) 1.用mac自带终端连接 步骤如下: 打开终端,在顶部shell菜单中选择新建远程连接 在右侧服务器窗口点击+号,添加服务器,输入IP等信息 输入用户名,点 ...

  6. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)

    Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7) 您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具, ...

  7. [转帖]CentOS7安装xrdp(windows远程桌面连接linux)

    CentOS7安装xrdp(windows远程桌面连接linux) https://blog.csdn.net/sgrrmswtvt/article/details/81869208 You Konw ...

  8. Windows下Navicat远程连接Linux下MySQL服务器错误1130

    今天用Navicat在Windows下连接Linux服务器上的MySQL,显示出错误1130. 当然这是在修改了MySQL的配置文件my.cnf的前提下允许远程访问的基础上的,如果没有修改my.cnf ...

  9. 在Windows下使用Navicat连接Linux下的MySql

    Linux下的Mysql安装可以参考菜鸟教程:https://www.runoob.com/mysql/mysql-install.html 安装完成后你会发现用Navicat链接MySql会失败,这 ...

随机推荐

  1. 给集合null,filter结果空集合

  2. Spring与Web环境集成

    1. Spring与Web环境集成 1.1 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext(sprin ...

  3. MongoEngine模块

    今儿,接到老的的要求,要把新功能的数据存放在Mongo里.虽然一直都有听过Mango的鼎鼎大名,但是那也只是见过没用过,跟个小白没啥区别.在加上功能急需,没办法只能赶鸭子上架先上再说.下面这篇就是我赶 ...

  4. moviepy音视频开发:音频文件存取类AudioFileClip属性和方法介绍

    ☞ ░ 前往老猿Python博文目录 ░ 一.概述 AudioFileClip是AudioClip的直接子类,用于从一个音频文件或音频数组中读入音频到内存构建音频剪辑.但AudioFileClip并不 ...

  5. PyQt(Python+Qt)学习随笔:QTableWidget项编辑方法editItem、openPersistentEditor

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.触发编辑项的editItem方法 QTableWidget提供了触发项编辑的方法,调用语法如下: ...

  6. PyQt(Python+Qt)学习随笔:QTreeWidgetItem项下子项的指示符展示原则childIndicatorPolicy

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 树型部件QTreeWidget中的QTreeWidgetItem项下可以有子项,如果存在子项,则父项 ...

  7. [MRCTF2020]Ezpop

    题目: Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki ...

  8. 关于EF框架EntityState的几种状态

    在使用EF框架时,我们通常都是通过调用SaveChanges方法把增加/修改/删除的数据提交到数据库,但是上下文是如何知道实体对象是增加.修改还是删除呢?答案是通过EntityState的枚举值来判断 ...

  9. 【Alpha冲刺阶段】Scrum Meeting Daily1

    1.会议简述 会议开展时间 2020/5/22 8:30-9:00 PM 会议基本内容摘要 讨论了基础的分工,以及明确了各自模块需要完成的任务 参与讨论人员 全体参与 特别说明 会议需要每天都开展!! ...

  10. vue项目中增加打印功能

    export default function printFile(html) { let userAgent = navigator.userAgent; if ( (userAgent.index ...