连接局域网内的oracle

连接局域网内的oracle 1.使用plsql+instantclient_19_3

前提条件是能ping通,直接ping oracle(这是目标服务名,TNS连接模式)

主要是:

  • 一、将instantclient-basic-windows.x64-12.2.0.1.0.zip解压,并将解压出的instantclient_12_2放在任意指定目录.
    本例中将解压后instantclient_12_2目录:D:\instantclient_12_2
  • 二、配置oracle监听文件
    在instantclient_12_2文件下创建NETWORK文件夹,在NETWORK下创建ADMIN文件夹,在ADMIN文件夹中创建tnsnames.ora文件,编辑内容如下,注意可配置多个监听,监听多个数据库实例.
RemoteOracle=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle) #####这个是目标的oracle服务名
)
)

其中A是可以自定义的名称,用来自己识别所连接到是哪个数据库,真正的数据库实例名是SERVICE_NAME = NBA中的NBA,第一个等号"="后面的是数据库连接串.

  • 三、配置环境变量
1) 变量名:ORACLE_HOME 变量值:D:\instantclient_12_2------------oracle主目录
2) 变量名:TNS_ADMIN 变量值:D:\instantclient_12_2\NETWORK\ADMIN------------tnsnames.ora所在目录
3) 变量名: NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
4) 修改Path变量,在后面添加 D:\instantclient_12_2

要配置tnsnames.ora,并且添加环境变量

2.ORACLE的连接模式——专用服务器和共享服务器

参考:https://blog.csdn.net/haibo_hn/article/details/68961241
TNS连接模式下,连接oracle服务要指定清楚服务名:
在本例中是oracle/orclpdb

3.注意plsql的语法
  • 注意count和sum的区别和用法:
    如tradedate,sum(tradeqty)
    要结合group by t.tradedate,并且出现在select后
    group by之后还可以用where加限定
    order by要在group by之后

  • 注意inner join、outer join
    left join、right join、full join的用法,一般要结合子查询——(select …)t1和
    on t1.tradedate=t2.tradedate

  • 注意join和union的区别:
    简单的理解,join是合并不同表的部分字段到一张表(横向),union用于合并两张表字段相同的表(纵向)

你可能想看:
分享给朋友: