关于Oralce的远程连接
----------------------------------------------------------------------------------------------------------------------------------------------------------
1. 在oralce所在服务器上通过命令行窗口,利用sqlplus可以连接oracle
2. 远程连接oracle: oracle将远程连接的需要的部分抽取出来了,做成了一个
小工具包(instanceclient),这个工具包里边包含了一个sqlplus工具;
进到instanceclient目录下,打开命令行 输入:
sqlplus 用户名/密码@ip:1521/orcl
3. plsql安装使用:
1.安装plsql,然后在tools-->preferences-->connection-->
1. Oracle Home D:\Develop\instantclient_12_1 这是配置客户端连接工具
instanceclient,因为plsql本身没有连接功能,而是借助于连接工具来连接oracle的;
2. OCI library D:\Develop\instantclient_12_1\oci.dll (动态连接库)
3. 将oracle的一个文件 tnsnames.ora 赋值到本地
4. 在环境变量中配置 tnsnames.ora 文件: 变量名TNS_admin
4. 思路整理:
1. 在 tnsnames.ora 中,将 协议/ip/端口/实例 赋值给变量 ORCL10
2. 在环境变量中配置 tnsnames.ora,这样 ORCL10就可以被识别为一个确定的数据库了
3. PL/SQL 通过: 用户名/密码/ORCL10,就可以连接上数据库了;
1. PL/SQL中配置了 instanceclient
2. instanceclient 中内置了 sqlplus
3. sqlplus本身可以连接数据库
连接流程: PL/SQL 连接界面输入:用户名/密码/ORCL10--->ORCL10在 tnsnames.ora中作为变量
指向了特定数据库,并且在环境变量中配置了tnsnames.ora的位置 ----> PL/SQL连接
5. 解决中文乱码
1. 查询服务器的编码:
select userenv('language') from dual
SIMPLIFIED CHINESE_CHINA.AL32UTF8
2. 在本地环境变量中配置,使本地编码与服务器编码一致,就不会出现乱码问题了:
变量名 NLS_LANG
变量值 SIMPLIFIED CHINESE_CHINA.AL32UTF8
3. 我实际在环境变量中是配的这个,好像也行:
变量名 NLS_LANG (Native Language Support)
变量值 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
=============================下边附上 tnsnames.ora==========================
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL10 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.8)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)