`
isiqi
  • 浏览: 16356465 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

rails 连接oracle

阅读更多

原以为rails连接oralce就像mysql那么简单,没想到还是费了一番周折,记录下来备忘
Windows
1)安装oralce 客户端
2下载 ruby-oci8-1.0.1-mswin32.rb
然后dos下rubyruby-oci8-1.0.1-mswin32.rb
D:\>ruby ruby-oci8-1.0.1-mswin32.rb
Copy OCI8.rb to D:/dev/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8
Copy oci8.rb to D:/dev/ruby/lib/ruby/site_ruby/1.8
Copy oci8lib.so to D:/dev/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt
OK?
Enter Yes/No: yes
Copying OCI8.rb to D:/dev/ruby/lib/ruby/site_ruby/1.8/DBD/OCI8 ... done
Copying oci8.rb to D:/dev/ruby/lib/ruby/site_ruby/1.8 ... done
Copying oci8lib.so to D:/dev/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt ... done
OK
3)拷贝apdater文件
The oracle adapter does not exist on Rails 2 by default so:
  1. Check out the oracle adapter
    svn co
    http://svn.rubyonrails.org/rails/adapters/oracle/lib/active_record/connection_adapters/
  2. And move oracle_adapter.rb to your ActiveRecord adapters path
    [your ruby path]/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters
  3. Try again, it should work
4)
database.yml
development:
adapter: oracle
database: [your database as it appears on TNSNAMES.ora]
username: [your username]
password: [your password]
Linux
1)下载和安装oralce 10g 客户端
下载oracle-instantclient-basic-10.2.0.3-1.i386.rpm
oracle-instantclient-devel-11.1.0.1-1.i386.rpm
rpm -ivh oracle-instantclient-basic-10.2.0.3-1.i386.rpm
rpm -ivh oracle-instantclient-devel-11.1.0.1-1.i386.rpm
设置环境变量
LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client/lib
export LD_LIBRARY_PATH
最好放在/etc/profile,这个不仅仅是安装时用到,程序运行时也需要用到
3)安装客户端api
cd /usr/local/src
tar xzvf ruby-oci8-1.0.1.tar.gz
cd ruby-oci8-1.0.1
make && make install
4) 拷贝apdater文件
The oracle adapter does not exist on Rails 2 by default so:
4.2) And move oracle_adapter.rb to your ActiveRecord adapters path
[your ruby path]/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters
5)
database.yml
development:
adapter: oracle
database: [your database as it appears on TNSNAMES.ora]或者[//主机名:端口/服务名]
username: [your username]
password: [your password]

注意上面的database有两种写法,如果用第一种,必须系统存在tnsnames.ora,
在一台没有安装oracle server的linux机器上是不存在这个文件到,但客户端会默认
寻找/etc/tnsnames.ora,如果没有这个文件会报错:
env.c:257:in oci8lib.so: ORA-12154: TNS:could not resolve the connect identifier specified (OCIError)
如果本来就在oralce server上,那么这么写是可以的
第二种写法通用性很强,完全无需tnsnames.ora
分享到:
评论

相关推荐

    rails连接oracle需要的驱动

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

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

    6. **Oracle数据库**: 配置RoR应用连接Oracle数据库需要安装`ruby-oci8` gem,它提供了Ruby与Oracle数据库的接口。由于Oracle驱动可能不包含在默认的`gem`源中,可能需要添加Oracle的gem源或者手动编译安装。 7. **...

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

    rails2.1與Oracle 連結所需gem

    标题“rails2.1与Oracle连接所需gem”指的是在Rails 2.1版本的应用程序中,如何配置和使用Oracle数据库的宝石(gem)扩展。Rails是Ruby on Rails框架的简称,是一个流行的开源Web应用程序框架,而Oracle则是一种企业...

    结合使用 Oracle 和 Ruby on Rails 教程

    3. **JDBC驱动**:由于Rails默认支持的是SQLite和MySQL,使用Oracle需要通过JDBC(Java Database Connectivity)驱动进行连接。JRuby库允许Rails与Java环境交互,从而使用Oracle的JDBC驱动。 4. **安装JRuby和...

    ruby-oracle相关的数据库操作的gems包

    标题提到的"ruby-oracle相关的数据库操作的gems包"是指一组用于连接和交互Oracle数据库的Ruby库。描述中指出,这些包主要基于oci8技术,oci8是Oracle公司提供的一个C接口,允许其他编程语言,如Ruby,与Oracle数据库...

    使用ROR编写ORACLE WEB应用

    在描述中提到的博文链接可能详细介绍了如何配置Rails项目以连接Oracle数据库,包括以下步骤: 1. 安装Oracle客户端和必要的库,如Instant Client,以便在本地环境运行Oracle相关的程序。 2. 设置环境变量,确保Rails...

    巧用Ruby配备Oracle数据库

    首先,连接Oracle数据库需要Ruby的一个特定库——Ruby/Oracle 调用接口 (OCI8),它是基于Ruby/DBI模块的数据库驱动程序。RubyDBI提供了一个抽象层,使得开发者能够使用统一的API与不同的数据库系统(如JDBC或ODBC)...

    jruby_on_rails

    4. **数据库配置**:JRuby on Rails 支持所有 JDBC 兼容的数据库,包括 MySQL、PostgreSQL 和 Oracle,通过配置 `config/database.yml` 文件来指定数据库连接。 5. **测试**:Rails 提供了丰富的测试框架,如 RSpec...

    巧用Ruby配备Oracle数据库.doc

    在Rails中,通过修改`config/database.yml`文件,可以轻松地配置Oracle数据库连接,使得Ruby on Rails应用能够与Oracle数据库进行数据交互。同时,注意保持数据库客户端库和Ruby/OCI8驱动的兼容性,以确保稳定的数据...

    巧用ruby配备oracle数据库.pdf

    在Rails框架中,连接到Oracle数据库所需的参数存储在`config/database.yml`文件中。例如: ```yaml development: adapter: oci host: xe username: development password: password test: adapter: oci host...

    oracle-js-project:JS前端和Ruby on Rails后端

    Oracle-JS-Project 是一个融合了JavaScript前端和Ruby on Rails后端技术的开发项目。这个项目旨在构建一个完整的Web应用程序,充分利用两种语言和技术的优势来提供高效、用户友好的交互体验。 在前端,JavaScript...

    11种连接数据库的方法

    .NET Framework中的ADO.NET提供了连接、命令、数据适配器和数据集等组件,用于与SQL Server、Oracle等数据库通信。使用`SqlConnection`类创建连接,`SqlCommand`执行SQL,`SqlDataAdapter`填充DataSet。 3. **...

    连接MYSQL数据库归纳.pdf

    MySQL是一款流行的开源关系型数据库管理系统(RDBMS),由Oracle公司维护和开发。它使用结构化查询语言(SQL)进行数据库管理,是互联网上使用最广泛的数据库之一。MySQL以其高性能、可靠性、易用性和灵活性而闻名,...

    ruby-plsql-master

    - 通过示例代码学习如何连接Oracle数据库,执行PL/SQL代码,并处理返回的结果。 6. **优化和性能**: - 使用这样的库可能会增加系统复杂性,因此在设计时需要权衡易用性、性能和维护性。 - 优化PL/SQL代码以减少...

    rubyee 安装

    RubyEE需要Java环境来运行,因此你需要访问Oracle官网或者OpenJDK的官方网站下载并安装最新版本的JDK。安装完成后,检查`java -version`和`javac -version`命令以验证JDK是否正确安装。 接下来,我们需要获取RubyEE...

Global site tag (gtag.js) - Google Analytics