免安装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的更多相关文章

  1. 在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动

    由于我们开发的辅助工具Database2Sharp需要支持多种数据库,虽然我们一般使用SQLServer来开发应用较多,但是Oracle等其他数据库也是常用的数据库之一,因此也是支持使用Oracle等 ...

  2. 【转】亲测plsql Developer配置免安装oralce客户端步骤

    原文地址:http://blog.csdn.net/bushy0401/article/details/11869461 再次用到Oracle了,机器上面也没有oracle客户端,还得去网上下载,直接 ...

  3. 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 ...

  4. 在 Oracle Linux 6.5 上安装 Oracle 11g 单实例数据库

    Checking the Hardware Requirements 系统必须满足下面最小的硬件要求 Memory Requirements Minimum: 1 GB of RAMRecommend ...

  5. 查询oracle数据库,返回的数据是乱码。 PL/SQL正常。

    查询oracle数据库,返回的数据是乱码. PL/SQL正常. 解决方案如下:

  6. 免安装Oracle客户端使用PLSQL Developer 7/8 连接Oracle10/11g

    众所周知,Oralce的客户端几百兆太大,网上也有许多DIR的处理.这里的处理使用官方提供ORALCE工具包Instant Client Package! 下载地址:http://www.oracle ...

  7. C# 连接Oracle数据库,免安装oracle客户端

    一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...

  8. Oracle instant client免安装Oracle客户端配置

    不想安装几个G的完整版client,可以直接通过安装包安装的时候选择instant client,如果没有安装包,也可以直接去官网下载一个即时客户端,64位的windows包大小只有78MB左右 传送 ...

  9. 免安装Oracle客户端使用PL/SQL连接Oracle

    只需要在Oracle下载一个叫Instant Client Package的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的. 下载地址:http://www. ...

随机推荐

  1. java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别

    java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别   以前一直没有注意过这个问题,前两天机缘巧合上网查了一下,然后自 ...

  2. Apache日志配置详解(rotatelogs LogFormat)

    logs/error_logCustomLog logs/access_log common--默认为以上部分 修改为如下: ErrorLog "|/usr/sbin/rotatelogs ...

  3. Quickling技术

    技术来自facebook,目的是实现ajax的seo友好. 简单来说就是骗爬虫,然后该写js还是写js. 原文在这里:http://www.cnblogs.com/haoming/p/3616326. ...

  4. c#之Redis队列在邮件提醒中的应用

    场景 有这样一个场景,一个邮件提醒的windows服务,获取所有开启邮件提醒的用户,循环获取这些用户的邮件,发送一条服务号消息.但问题来了,用户比较少的情况下,轮询一遍时间还能忍受,如果用户多了,那用 ...

  5. bootstrapValidator.js 做表单验证

    有这样的一个场景,我们在提交form表单的时候 可能要做一些验证,比如判断是不是为空,电话的格式验证,邮箱的格式验证等等,手写起来也是可以得. 但是今天我介绍一个bootstrap插件简化开发.就是b ...

  6. Mastering Web Application Development with AngularJS 读书笔记(三)

    第一章笔记 (三) 一.Factories factory 方法是创建对象的另一种方式,与service相比更灵活,因为可以注册可任何任意对象创造功能.例如: myMod.factory('notif ...

  7. VTK初学一,e_Triangle_CellArray三角形的另一种方法绘制

    #ifndef INITIAL_OPENGL #define INITIAL_OPENGL #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRend ...

  8. Ubuntu 开机进入命令行模式

    1.修改配置 sudo vim /etc/default/grub 把 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDL ...

  9. Java系列笔记(4) - JVM监控与调优

    目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例     光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之.通过学习,我觉得JVM ...

  10. php:获取浏览器的版本信息

    //分析返回用户网页浏览器名称,返回的数组第一个为浏览器名称,第二个是版本号.  function getBrowser() {      $sys = $_SERVER['HTTP_USER_AGE ...