《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. ...
随机推荐
- winform的扩展的带有截图功能picturebox
using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using Sys ...
- python快排算法
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列. ...
- linux下vim更改注释颜色
我linux下默认底色是黑色,字体是绿色,但是注释默认是蓝色,,很不爽...所以要更改注释颜色......以下文章来自转载. from: http://blog.csdn.net/gz109/arti ...
- 2015年12月02日 GitHub入门学习(四)Git操作
序,学习使用Git是一项新技能,你将了解到Git与SubVersion的区别. 一.基本操作 git init 初始化仓库,请实际建立一个目录并初始化仓库,.git目录里存储着管理当前目录内容所需的仓 ...
- [译]git fetch
git fetch从远程仓储导入commit到你的本地仓储. 这些fetch到的commit是做为一个远程分支存储在你本地的. 这样你可以在集成这些commit到你的项目前先看看都有些什么修改. 用法 ...
- assign与weak区别(面试)
weak 比 assign 多了一个功能就是当属性所指向的对象消失的时候(也就是内存引用计数为0)会自动赋值为 nil ,这样再向 weak 修饰的属性发送消息就不会导致野指针操作crash. 可能不 ...
- QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)
背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h" ...
- 微信小程序未来怎么样?听微盟卫晓祥来说说
微信小程序宣布公测已经一个多月了,开发者一片火热,未来会怎么样?听微盟卫晓祥来说说.微盟移动营销事业部总经理卫晓祥表示,微信小程序最吸引商户的地方在于:一方面小程序作为一种全新的连接用户与服务的方式, ...
- java之google style
Google的Java编码规范英文版: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html Google的Java编码规范 ...
- 说说JSON和JSONP,也许你会豁然开朗
前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socke ...