初学者最近学习一个项目用到Oracle11g,之前没玩过,网上查了很多,也掉了一些坑,做个笔记
- 环境:据说Oracle11g很耗性能,我装在虚拟机window 7_64位(Oracle VM VirtualBox)模仿服务器环境,不用时可以关掉
- PLSQL版本是:PLSQL Developer 13 (64 bit)
- PLSQL连接Oracle数据库需要Oracle客户端,最好去官方下载,不然很可能会报错,注册Oracle账号我觉得麻烦,于是在别的地方下载结果都是报错的,不得已注册一个账号下载非安装版本的客户端。
注意 :PLSQL的版本是32还是64位,Oracle客户端要对应下载
下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html?ssSourceSiteId=otncn - 安装完成后运行,选择 “取消”,进入界面选择 (或者 “工具”—> “首选项”)
- Oracle客户端从官网下载默认没有NETWORK目录,需要手动新建
- 进入NETWORK目录新建ADMIN文件夹,在ADMIN文件夹下创建 tnsnames.ora客户端的配置文件
- tnsnames.ora配置文件中内容参考如下
MYORACLE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.16)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = myoracle)
)
) - 到这里几乎设置完成,如果登录界面还没显示数据库名称列表,说明还没读取到 tnsnames.ora,那么请下一步
- 在客户端的系统种添加2个环境变量,我到这一步就可以连接上了
变量名:TNS_ADMIN
变量值: C:\instantclient_11_2\NETWORK\ADMIN(客户端tnsnames.ora配置文件的所在路径)
变量名:NLS_LANG
变量值: SIMPLIFIED CHINESE_CHINA.ZHS16GBK(指定数据库使用的编码,不设置,可能会有乱码)
如果不知道数据库使用的编码,可在命令窗口输入查询语句查询
select userenv(‘language’) nls_lang from dual;