昨天晚上第一次
安装了
oracle的客户端,也参考了网上的资料。最后终于成功了在
windows上用PL/SQL devolper连接上了虚拟机上的oracle。下面说一下方法和注意事项。我知道这个99%的人都会,但是我写下来是给自己点鼓励嘛~~
首先你的保证你的客户端可以和虚拟机ping通。
然后去oracle的官网下载oracle的客户端。客户端分两种。一种是带有工具的完整客户端,比如带有sqlplus。一种是简易客户端,有点像一个驱动程序。很小。我安装的就是简易客户端。因为很小,方便。
然后安装客户端。解压到一个目录。比如目录为F:\instantclient_11_2。然后在这个目录下建立一个network文件夹(简易客户端是没有这个文件夹的)。再在这个文件夹下建立admin文件夹。
然后打开的你虚拟机(
服务器),去ORACLE_HOME/dbs/目录下找到tnsnames.ora文件,拷到F:\instantclient_11_2\network\admin\目录下。内容类似下面所示
OCP = --net service name 随意制定
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.179.129)(PORT = 1521)) --ip地址和端口 按自己的实际情况来
)
(CONNECT_DATA =
(SERVICE_NAME = orcl) --这里可以是service_name,也可以是sid。10g开始,oracle推荐使用service_name
)
)
--下面的代码不用修改,保持默认即可
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.179.129)(PORT = 1521)) --ip地址和端口 按自己的实际情况来
)
(CONNECT_DATA =
(SERVICE_NAME = orcl) --这里可以是service_name,也可以是sid。10g开始,oracle推荐使用service_name
)
)
--下面的代码不用修改,保持默认即可
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
用tnsnames.ora文件的方法来访问服务器,其实就是本地连接的方法。开头的OCP字符串你可以任意指定,这个是网络服务名。当连接服务器时需要用到这个名字。service_name后面可以跟服务名,也可以用SID,但是建议用服务名。还有,HOST后面要跟你服务器的IP地址。需要改动的就这么多。
然后配置环境变量:NLS_LANG。打开我的电脑,添加系统变量。这个变量用来控制你客户端的字符集,防止产生乱码。一般情况下windows字符集是ZHS16GBK。所以这个值的设置类似于NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK。也可以写成NLS_LANG=AMERICAN_AMERICA.ZHS16GBK。最重要的是字符集。
然后打开PL/SQL develop ,在tools菜单下的preference下配置两个参数Oracle home为F:\instantclient_11_2,OCI library为F:\instantclient_11_2\oci.dll。重新打开PL/SQL生效。