连接局域网内的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
-
注意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用于合并两张表字段相同的表(纵向)
你可能想看: