电脑上不安装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软件,尝试登录

相关推荐
十八旬1 小时前
苍穹外卖项目实战(day7-1)-缓存菜品和缓存套餐功能-记录实战教程、问题的解决方法以及完整代码
java·数据库·spring boot·redis·缓存·spring cache
要一起看日出2 小时前
MVCC-多版本并发控制
数据库·mysql·mvcc
Hx__2 小时前
MySQL InnoDB 的 MVCC 机制
数据库·mysql
速易达网络2 小时前
ASP.NET MVC 连接 MySQL 数据库查询示例
数据库·asp.net·mvc
玉衡子3 小时前
MySQL基础架构全面解析
数据库·后端
梦中的天之酒壶3 小时前
Redis Stack扩展功能
数据库·redis·bootstrap
GreatSQL3 小时前
GreatSQL分页查询优化案例实战
数据库
Leo.yuan3 小时前
不同数据仓库模型有什么不同?企业如何选择适合的数据仓库模型?
大数据·数据库·数据仓库·信息可视化·spark
麦兜*4 小时前
MongoDB 6.0 新特性解读:时间序列集合与加密查询
数据库·spring boot·mongodb·spring·spring cloud·系统架构
chat2tomorrow4 小时前
数据采集平台的起源与演进:从ETL到数据复制
大数据·数据库·数据仓库·mysql·低代码·postgresql·etl