`
benjaminz
  • 浏览: 26738 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

windows环境中使用rails连接oracle数据库环境搭建方法

阅读更多

作者:benjaminz(zeng78@gmail.com)
时间:2011-4-1

 

下面记录的简单步骤

 

1、应该下载ruby-oci8

     下载地址:http://ruby-oci8.rubyforge.org/en/InstallBinaryPackage.html

     我下载的版本是:ruby-oci8-1.0.7-x86-mswin32-60.gem

     这里不下载2.0版本的原因是下面安装的activerecord-oracle-adapter对应的版本是1.x的,

     如果在这里安装2.x版本的ruby-oci8在后面的使用中会报错

     undefined method `define_a_column' for class `OCI8::Cursor' (NameError)

 

     把下载的gem文件拷贝到c:\

     然后在命令行敲入: gem install ruby-oci8-1.0.7-x86-mswin32-60.gem

 

C:\>gem install ruby-oci8-1.0.7-x86-mswin32-60.gem
Successfully installed ruby-oci8-1.0.7-x86-mswin32-60.gem
1 gem installed
Installing ri documentation for ruby-oci8-1.0.7-x86-mswin32-60.gem
Installing RDoc documentation for ruby-oci8-1.0.7-x86-mswin32-60.gem

 

2、安装 activerecord-oracle-adapter

 

     直接使用gem install  activerecord-oracle-adapter是会报错的

 

     需要增加一个参数,写成下面这个

 

C:\>gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org

Successfully installed activerecord-oracle-adapter-1.0.0.9250
Successfully installed activesupport-2.3.3
2 gems installed
Installing ri documentation for activesupport-2.3.3...
Installing RDoc documentation for activesupport-2.3.3...

 

大功告成,开始操作你的oracle吧。

 

刚才看到一个好的方法,也引用过来,作为备忘吧,感谢原作者jhsea3do

  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%
 
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
0
分享到:
评论
2 楼 benjaminz 2011-06-28  
我用的是ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
你看看是不是你系统里的ruby版本太低了
1 楼 wotodoo 2011-06-13  
请问下,gem install ruby-oci8-1.0.7-x86-mswin32-60.gem 用的是ruby 1.9吗?
我这里执行这个报
C:\>gem install ruby-oci8-1.0.7-x86-mswin32-60.gem
ERROR:  Error installing ruby-oci8-1.0.7-x86-mswin32-60.gem:
        ruby-oci8 requires Ruby version ~> 1.8.0.

相关推荐

    在RHEL上安裝設置ROR(nginx+passenger+ruby+rails+oracle+netzke)

    在RHEL(Red Hat Enterprise Linux)系统上搭建Ruby on Rails(简称RoR)应用程序环境是一项技术性较强的任务,尤其当涉及到与其他服务如Nginx、Phusion Passenger、Ruby、Rails以及Oracle数据库集成时。以下是对这...

    搭建WEB应用环境下载资料

    在IT行业中,Web应用环境是开发、测试和部署基于Web的应用程序所必需的基础设施。它由一系列组件构成,包括服务器软件、数据库系统、编程语言解释器或编译器,以及其他必要的工具和库。本篇文章将深入探讨如何搭建一...

    rails magazine issue 4

    - **应用场景**:适用于使用Oracle数据库的Ruby on Rails开发者。 ##### 10. Ruby Kaigi Exclusive Coverage - **核心观点**:提供了关于Ruby Kaigi 2009大会的独家报道。 - **重要性**:Ruby Kaigi是Ruby社区的...

    RubyonRails九日学习计划

    2. 搭建ruby on rails 开发环境并熟悉开发环境。用到的软件在《软件工具》目录。 3. 给学生展示《Ruby on Rails 实践.pdf》中的示例快速建立简单应用。 4. 指导学生完成《Ruby on Rails 实践.pdf》中的...

    电子商务开发软件

    根据给定的文件信息,我们将深入探讨电子商务开发软件的基础知识,以及其在现代商业环境中的应用。 ### 电子商务开发软件概述 电子商务开发软件指的是用于创建、管理和优化电子商务网站或平台的一系列工具和技术。...

    Grails调研总结.docx

    Oracle和SAP等大型公司已经在一些项目中采用Grails,证明了其在企业级应用中的适用性。 LinkedIn等知名社交网络平台也选择了Grails进行开发,进一步验证了Grails在实际生产环境中的性能和稳定性。Groovy,作为...

    图7-3-2 树状图(b)1

    1. **Java**:Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation)开发。它以其“一次编写,到处运行”的特性而闻名,具有跨平台兼容性。Java用于开发各种类型的应用,包括桌面...

    bakend

    SQL数据库(如MySQL、PostgreSQL、Oracle)和NoSQL数据库(如MongoDB、Cassandra)是两种主要类型。后端开发者需要熟悉SQL查询以及数据建模。 4. **API设计**:后端开发者需要创建RESTful API,让前端和后端能通过...

    Back-end

    2. **数据库管理系统**:关系型数据库如MySQL、PostgreSQL、Oracle,非关系型数据库如MongoDB、Redis、Cassandra等。数据库用于存储和检索应用程序所需的数据。 3. **API设计**:通过RESTful API或者GraphQL,后端...

Global site tag (gtag.js) - Google Analytics