`
222xiaohuan
  • 浏览: 50656 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

rails连接oracle

    博客分类:
  • ROR
阅读更多
一,先安装oracle9i/10g
二,安装oci
1,首先下载oci8lib.so和ruby-oci8-1.0.1-mswin32.rb文件,放入C盘的oracle-rails文件夹下。
2,命令行安装oci。C:\Oracle-Rails>ruby ruby-oci8-1.0.1-mswin32.rb
3,将oracle-rails里的oci8lib.so复制,覆盖C:\ruby\lib\ruby\site_ruby\1.8\i386-msvcrt里面的oci8lib.so
4,测试oci是否安装成功过。C:\Oracle-Rails>ruby -r oci8 -e "OCI8.new('point','auroraonline','AURORA').exec('select * from users') do |r| puts r.join('|'); end"
三,安装adapter
1,C:\ruby>gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org

四,删除冲突文件如果有的话
          删除oracle安装目录E:\oracle\ora92\network\ADMIN下与sqlnet.ora和tnsnames.ora相冲突的文件
分享到:
评论
4 楼 jhsea3do 2009-05-07  
分享一下我的经验吧,作为开发环境,使用OCI8,只需要安装客户端既可。

我用windows版的Oracle 10g Express测试了一下,整理了一个最小化的文件清单
http://dev.graciej.com/oracle/ora10g-client-lite-mswin32.tree.txt

把这些文件压缩一下只有20兆,解压缩后设置为ORACLE_HOME就可以直接使用,不用再装客户端了。

不论是unix还是windows,除了ORACLE_HOME另外还需要设置两个环境变量分别是NLS_LANG和PATH

set ORACLE_HOME=d:\opt\oracle\ora10g-client-lite-mswin32
set NLS_LANG=american_america.ZHS16GBK
set PATH=%ORACLE_HOME%\bin;%PATH%


如果在cgi程序中使用OCI8的话,必须也要带入这些环境变量,以unix下的apache2为例,我们的apache启动前没有加载oracle的环境变量,所以我们在cgi目录下添加一个.htaccess文件,内容如下
SetEnv          ORACLE_HOME         "/opt/oracle/product/10.2.0"
SetEnv          NLS_LANG            "american_america.ZHS16GBK"
SetEnv          TNS_ADMIN           "/opt/oracle/product/10.2.0/network/admin"
SetEnv          ORACLE_SID          "oraclesid"
SetEnv          LD_LIBRARY_PATH     "/opt/oracle/product/10.2.0/lib:/usr/lib:/usr/local/lib"

DirectoryIndex  index.html index.rb
AddType         application/x-httpd-cgi .sh .rb


lighttpd 下和apache查不多,需要打开 mod_setenv,然后加入

setenv.add-environment  = (
        "ORACLE_HOME" => "/opt/oracle/product/10.2.0",
        "TNS_ADMIN" => "/opt/oracle/product/10.2.0/network/admin",
        "NLS_LANG" => "american_america.ZHS16GBK"
)




3 楼 222xiaohuan 2008-12-14  
hhhj 写道

oci8lib.so 这个不是必须的,至少我做了几个项目,都没有用到过这个文件

嗯,是不是必须的。这是针对我的文件有冲突的情况的。
2 楼 hhhj 2008-12-13  
oci8lib.so
这个不是必须的,至少我做了几个项目,都没有用到过这个文件
1 楼 jsntghf 2008-12-13  
可以实现的

相关推荐

    rails连接oracle需要的驱动

    rails连接oracle需要的驱动 执行命令:C:\> ruby 文件名.rb <br>

    ruby连接oracle驱动

    ruby连接oracle驱动包,支持32位与64位操作系统 Developing applications with Oracle Database Build Ruby and Ruby on Rails applications using the ruby-oci8 driver or JRuby with the Oracle Enhanced ...

    巧用Ruby配备Oracle数据库

    本文讲解如何从一个Rails应用程序连接到Oracle和与其相关的验证和性能问题。要连接到Oracle数据库,用户必须安装 Ruby/Oracle 调用接口 (OCI8) 库——一个基于 Ruby/DBI (数据库接口模块)的数据库驱动程序。Ruby...

    java开源包4

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包1

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包11

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包2

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包3

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包6

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包5

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包10

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包8

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包7

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包9

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    JAVA上百实例源码以及开源项目

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    java开源包101

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    Java资源包01

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    JAVA上百实例源码以及开源项目源代码

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

Global site tag (gtag.js) - Google Analytics