论坛首页 编程语言技术论坛

rails连接oracle

浏览 4913 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-13  
一,先安装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相冲突的文件
   发表时间:2008-12-13  
可以实现的
0 请登录后投票
   发表时间:2008-12-13  
oci8lib.so
这个不是必须的,至少我做了几个项目,都没有用到过这个文件
0 请登录后投票
   发表时间:2008-12-14  
hhhj 写道

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

嗯,是不是必须的。这是针对我的文件有冲突的情况的。
1 请登录后投票
   发表时间:2009-05-07   最后修改:2009-05-18
分享一下我的经验吧,作为开发环境,使用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"
)




0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics