《oracle每日一练》免安装Oracle客户端使用PL/SQL
免安装Oracle客户端使用PL/SQL
Oracle客户端挺招人烦的,部署连接它的应用通常需要先安装它的客户端,安装程序要求在目标机器上写注册表,假设你没有洁癖的话,你仍可能被下面的事情绊住:当你的机器上的其他程序依赖于x64的Oracle的程序,并且它们很有可能根本不是你写的,因此你还不敢随便乱动服务器,但是你可能需要一个PL/SQL用来在相同的环境下执行查询,这个时候你还是需要一个免安装的办法来处理这个问题。
1、下载Oracle Instant Client (32-bit)
因为我的PL/SQL只支持32位的Oracle,所以必须下载对应的32位的才可以。
只需要下载instantclient-basic-nt-11.2.0.3.0.zip就可以了,其它的都是一些根据不同需要扩展的包。
下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html
2、解压到目标机器上(假设是台全新安装的Windows就可以)
在这里我选择了该文件夹:C:\instantclient_11_2_x86\
3、配置tnsnames.ora
用记事本新建tnsnames.ora文件保存在该路径下:
C:\instantclient_11_2_x86\NETWORK\ADMIN\tnsnames.ora
内容参考下面的进行配置:
MY_XXXServer =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.199.200.102)(PORT = 1521))
(CONNECT_DATA =
(SID = oravm)
(SERVER = DEDICATED)
)
)
4、解压PL/SQL到目标机器上,如:C:\Program Files (x86)\PLSQL Developer 9.0.0.1601\
5、打开PL/SQL,登录的时候,“取消”即可。
进入“首选项”(工具-〉首选项),左侧选择Oracle,右侧填写“Oracle主目录名”以及OCI库地址即可:

6、完成以上步骤,重新打开PLSQL,输入用户名密码,选择正确的数据库即可。
7、中文乱码问题
7.1 方法1:设置环境变量(全局,可能对其它Oracle客户端产生影响)
“计算机”->“系统属性”->“高级系统设置”->“系统属性/高级 选项卡”->“环境变量”->“系统变量”->“新建”->
变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
7.2 方法2:设置注册表(不适用于Instant Client或其他XCopy客户端)(全局,可能对其它Oracle客户端产生影响)
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE]
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
其中KEY_XE可能和不同的Oracle安装包不同,根据自己情况进行调整。
7.3 方法3:在启动PLSQL前设置(独立,不会对其它Oracle客户端产生影响)
7.3.1 在PLSQL安装文件夹下,新建bat文件,内容如下:
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
plsqldev.exe
其中plsqldev.exe为PLSQL运行文件。执行该bat后,会自动打开plsql developer,输入用户名密码,中文乱码问题通常就得到解决。但是直接执行这个bat文件会导致会有个黑色的命令行窗口,写一个vbscript文件plsqldev.vbs在安装目录下,内容如下:
createobject("wscript.shell").run "SetChineseCharset.bat",0
以后运行plsqldev.vbs即可(可以右键发送快捷方式到桌面,并且修改图标为http://files.cnblogs.com/volnet/plsqldev.ico)
7.3.2 为了消除黑色的命令行窗口,也可以直接写下面这样的bat文件:
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
start plsqldev.exe
这样就不会出现黑色的命令行窗口了。同样修改图标的方法同上。
关于自己写的应用程序如何使用免安装的方式部署,我也在研究中,这个链接值得参考:http://www.oracle.com/technetwork/issue-archive/2008/08-nov/o68odpnet-101744.html
关于最后研究的结果,请参考:http://www.cnblogs.com/volnet/archive/2012/05/22/2513968.html,其中也对PL/SQL Developer的安装做了更新。
本文转自http://www.cnblogs.com/volnet/archive/2012/05/22/2513728.html
《oracle每日一练》免安装Oracle客户端使用PL/SQL的更多相关文章
- 在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
由于我们开发的辅助工具Database2Sharp需要支持多种数据库,虽然我们一般使用SQLServer来开发应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等 ...
- 【转】亲测plsql Developer配置免安装oralce客户端步骤
原文地址:http://blog.csdn.net/bushy0401/article/details/11869461 再次用到Oracle了,机器上面也没有oracle客户端,还得去网上下载,直接 ...
- Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)
本文主要描写叙述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g開始,Oracle官方站点不再提供其Patch的下载链接,须要使用Meat ...
- 在 Oracle Linux 6.5 上安装 Oracle 11g 单实例数据库
Checking the Hardware Requirements 系统必须满足下面最小的硬件要求 Memory Requirements Minimum: 1 GB of RAMRecommend ...
- 查询oracle数据库,返回的数据是乱码。 PL/SQL正常。
查询oracle数据库,返回的数据是乱码. PL/SQL正常. 解决方案如下:
- 免安装Oracle客户端使用PLSQL Developer 7/8 连接Oracle10/11g
众所周知,Oralce的客户端几百兆太大,网上也有许多DIR的处理.这里的处理使用官方提供ORALCE工具包Instant Client Package! 下载地址:http://www.oracle ...
- C# 连接Oracle数据库,免安装oracle客户端
一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...
- Oracle instant client免安装Oracle客户端配置
不想安装几个G的完整版client,可以直接通过安装包安装的时候选择instant client,如果没有安装包,也可以直接去官网下载一个即时客户端,64位的windows包大小只有78MB左右 传送 ...
- 免安装Oracle客户端使用PL/SQL连接Oracle
只需要在Oracle下载一个叫Instant Client Package的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的. 下载地址:http://www. ...
随机推荐
- Python socket编程
一.什么是socket: socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求 ...
- safari 回调中window.open无法执行
safari无法在callback中执行window.open,其安全机制将其阻挡了. 解决方法: var oWinRef = win.open('','_blank','参数');fCallback ...
- php/js互传cookie中文乱码的问题
问题发现: 过去好好的,今天突然网页出现了问题. 在猎豹和IE都出现问题,在360浏览器就正常. 经过排错,最终发现: js存储cookie,php读取的时候成了乱码 . 问题分析: 这是因为文字编 ...
- 如何清理WindowsXp的临时文件
软件限制策略中的 "路径规则" 不允许的, 是指在 这个路径中的程序都 不准运行! 这就限制了 : 通常电脑中病毒, 都是通过上网感染病毒的 -> 病毒/恶意软件通过 &qu ...
- List之Union(),Intersect(),Except()
http://www.cnblogs.com/qinpengming/archive/2012/12/03/2800202.html List之Union(),Intersect(),Except() ...
- PHP缓存机制Output Control详解
开启OB缓存的方式有如下两种: 1. php.ini中开启 output_buffering = 4096 启用了此指令,那么每个PHP脚本都相当于一开始就调用了ob_start()函数,PHP5.5 ...
- WCF binding的那些事!!!
原文地址:http://www.cnblogs.com/Anima0My/archive/2008/04/16/1156146.html WCF中常用的binding方式: BasicHttpBind ...
- 如何确定C#代码是在编译时执行还是在运行时执行
突然想起那个"switch..case..."的case标签都可以判断哪些类型... 就先搞了一个错误的demo... class Program { static void Ma ...
- nyoj 10 skiing 搜索+动归
整整两天了,都打不开网页,是不是我提交的次数太多了? nyoj 10: #include<stdio.h> #include<string.h> ][],b[][]; int ...
- Codeforces Round #202 (Div. 2) A,B
A. Cinema Line time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...