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

相关推荐
X566111 小时前
SQL注入防御技术方案_基于正则表达式的输入清洗
jvm·数据库·python
爱学习 爱分享11 小时前
docker 本地装瀚高 4.5 数据库
数据库·docker·容器
zhoupenghui16811 小时前
Mysql插入数据时,怎么让自增的主键续接表当前最大ID+1
数据库·mysql·auto increment
LabVIEW开发11 小时前
LabVIEW数据库事务操作
数据库·labview·labview知识·labview功能·labview程序
技术钱11 小时前
Flask-SQLAIchemy和Flask-Migrate扩展的配置与使用
数据库·python·flask
song85460113411 小时前
MYSQL优化器的主要的优化策略及其示例
数据库·mysql
杨浦老苏11 小时前
基于MongoDB Atlas的博客热榜
数据库·博客·blog·waline
Bert.Cai11 小时前
MySQL RAND()函数详解
数据库·mysql
怪我冷i11 小时前
多租户系统PostgreSQL
数据库·postgresql
Irene199111 小时前
Oracle 中 为什么不能用 ROWNUM >=2 判断
oracle