程序连接oracle查询数据的环境配置

连接oracle 数据库真麻烦,还是MySQL方便

Oracle Instant Client

这个东西的版本跟oracle的版本是有讲究的,引用文档的说明

Oracle 标准的客户端-服务器网络互操作性允许不同版本的 Oracle 客户端和 Oracle 数据库之间的连接。有关经过认证的配置,请参阅 Oracle 支持的文档 ID 207303.1。综上所述,Oracle Client 21可以连接到Oracle Database 12.1或更高版本。Oracle Client 19、18 和 12.2 可以连接到 Oracle Database 11.2 或更高版本。Oracle Client 12.1 可以连接到 Oracle Database 10.2 或更高版本。Oracle Client 11.2 可以连接到 Oracle Database 9.2 或更高版本。创建连接的技术限制可能更加灵活。例如Oracle Client 12.2可以成功连接到Oracle Database 10.2。

这个是连接oracle的客户端,像plsql这些都是需要的,所以如果你的电脑有plsql,那么这个玩意应该是已经有了。
下载地址:windows的下载Basic Package版本的压缩包,然后解压。

然后是添加环境变量:地址形式如:C:\oracle\product\10.2.0\instantclient_11_2,添加到系统的path里。

但是这里得注意,这个地址得添加在其他oracle环境配置的前面,比如说电脑还有安装oracle 10G客户端,就会有一个oracle的环境变量,那么instantclient的环境变量得排在他的前面。如下图:

TNS_ADMIN

电脑连接oracle有个配置是跑不掉的,不管什么东西和方式连接,就是这个文件:tnsnames.ora(也有可能是sqlnet.ora或oraaccess.xml),这个文件通常在上图的那两个oracle目录下,例如C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN,如果没有,可以自己新建,一般的目录结构都是NETWORK\ADMIN下。
tnsnames.ora的的配置形如:

复制代码
# 可以有多个
ORCL1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = orcl1)
    )
  )
ORCL2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = orcl2)
    )
  )

这个文件搞出来后,就可以添加到环境变量中了。

在系统变量中新建TNS_ADMIN,地址如C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN

GCC

通常oracle的驱动还依赖GCC,例如我用的golang的godror,她就依赖GCC。下载地址,版本也有要求,这个看驱动具体要求。

直接下载压缩包。下载好后解压出来,然后在path中添加地址:

这样应该就可以了。

相关推荐
陌上丨2 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_56782 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw2 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH30732 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道3 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
麦聪聊数据4 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务4 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Goat恶霸詹姆斯5 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七6 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
曾经的三心草6 小时前
redis-9-哨兵
数据库·redis·bootstrap