电脑上不安装Oracle,但是虚拟机装了Oracle,怎么连接到虚拟机里的Oracle数据库呢?

1、准备工作

1.1、确定数据库版本信息

注:如果知道数据库的版本信息,这个步骤可以跳过。

  • 比较简单的方法,直接看数据库的安装位置,也就是数字(但是这个方法确定就是,不好确定是多少位的数据库)
  • 另外一种是登录Oracle,查看版本信息(sqlplus 用户名/用户密码)

1.2、确定数据库的字符集信息

后面的配置需要

select userenv('language') nls_lang from dual;

查询的字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

1.3、准备Oracle数据库的客户端软件

注:选一个就可以,这里以PL/SQL Developer为演示
特别注意一点:客户端软件的版本一定对应OracleInstant Client的版本
比如OracleInstant Client的版本为64的,那么客户端软件的版本也应为64的

  • PL/SQL Developer
  • sqldeveloper
  • Toad for Oracle
  • Navicat Premium

1.4、准备Oracle数据库的驱动文件

oracle数据库驱动文件下载地址
Oracle Instant Client Downloadshttps://www.oracle.com/cn/database/technologies/instant-client/downloads.html

  • 访问下载地址,可以看到的内容

  • 选择对应的操作平台,比如Microsoft Windows x64 平台

  • 由于虚拟机数据库版本为11.2.0(且平台为Windows 64的),这里下载Basic版本

1.5、准备连接的配置文件

  • 从虚拟机里拷出SAMPLE文件夹里的文件
  • 可以看到SAMPLE文件夹下有三个文件(LISTENER.ORA,sqlnet.ora,tnsnames.oRA)

1.6、文件准备工作就绪

  • 以下是所有的文件汇总,我这里提前把压缩包给解压出来了,方便后面操作

2、查看参数并配置连接文件

2.1、查看网络协议

本工具是Oracle安装时提供的,工具名称为Oracle Net Manager

  • IPC服务协议配置截图(SIDCLRExtProc密钥名称EXTPROC1521

  • TCP/IP服务协议配置截图(服务名、端口号

2.2、做连通性测试

此步骤是测试下能否访问到虚拟机地址,语法:ping 虚拟机的ip地址,看发送的数据是否都能收到

2.3、tnsnames.ora配置

2.4、新建启动脚本

移动SMPLE到Oracle Instant Client下,然后创建一个启动脚本

  • 先把修改后的SMPLE文件夹移动到Oracle Instant Client下,并创建设置启动环境.bat脚本文件

关于字符集怎么查询,请根据1.2的配置查看字符集怎么查看

  • 以下启动脚本的内容,供参考

    shell 复制代码
    @echo off
    title 不要关掉!!!
    mode con cols=38 lines=20
    color 03
    
    set file_name_str = %~sdp0
    set ORACLE_HOME = %file_name_str%
    set TNS_ADMIN = %file_name_str%\SMPLE
    set NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    rem set NLS_CHARACTERSET=AL32UTF8
    rem set NLS_LANG = AMERICAN_AMERICA.AL32UTF8
    rem set NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    
    rem 在原有path后追加
    set path=%path%;%file_name_str%
    echo 设置启动环境变量,不要关闭
    
    pause
  • 接着运行这个脚本文件起来,运行后不要关掉窗口

3、配置Oracle驱动的路径

3.1、PL/SQL Developer

  • 设置Oracle目录位置

  • 重新打开PL/SQL Developer软件,尝试登录

相关推荐
工具人55551 分钟前
strip()方法可以删除字符串中间空格吗
数据库·mysql
松涛和鸣5 分钟前
35、Linux IPC进阶:信号与System V共享内存
linux·运维·服务器·数据库·算法·list
xinyu_Jina13 分钟前
局域网文件传输:P2P应用层协议——元数据握手与数据通道的生命周期管理
数据库·asp.net·p2p
彬鸿科技30 分钟前
【SDR课堂第42讲】RFSOC开发入门之开发环境搭建(三)
linux·运维·数据库·ubuntu·postgresql·软件无线电·软无
九章-31 分钟前
金仓数据库助力中国石油安全环保技术研究院安全生产智能管控系统全面实现数据库国产化替代
数据库·安全
陌路2032 分钟前
redis 发布订阅功能
数据库·redis·缓存
丁丁丁梦涛34 分钟前
navicat跨服务器连接MySQL数据库
服务器·数据库·mysql
tgethe38 分钟前
mysql-索引详解
数据库·mysql
一个天蝎座 白勺 程序猿39 分钟前
Apache IoTDB(11):分段聚合深度解析——从原理到实战的完整指南
数据库·apache·iotdb
Java Fans43 分钟前
PyQt实现SQLite数据库操作案例详解
数据库·sqlite·pyqt