`

Ubuntu下rails程序链接oracle数据库

阅读更多
rails支持oracle数据库连接

一、下载安装(解压)依赖包

下载 instantclient-basic, instantclient-sqlplus and instantclient-sdk zip archives 然后解压到 instantclient_12.1 文件夹下面(文件名字以实际名字为主).
然后把文件移动到 /opt/oracle/instantclient_12.1

下载需要登录oracle账号,并且要同意协议,直接点击下面链接无法下载
如遇版本修改,连接可能失效,请在官网自行搜索下载
32位地址
http://www.oracle.com/technetwork/topics/linuxsoft-082809.html

要选择好
64位下载地址
http://download.oracle.com/otn/linux/instantclient/121020/instantclient-basic-linux.x64-12.1.0.2.0.zip
http://download.oracle.com/otn/linux/instantclient/121010/instantclient-sqlplus-linux.x64-12.1.0.1.0.zip
http://download.oracle.com/otn/linux/instantclient/121010/instantclient-sdk-linux.x64-12.1.0.1.0.zip

32位地址
http://download.oracle.com/otn/linux/instantclient/121020/instantclient-sdk-linux-12.1.0.2.0.zip
http://download.oracle.com/otn/linux/instantclient/121020/instantclient-sqlplus-linux-12.1.0.2.0.zip
http://download.oracle.com/otn/linux/instantclient/121020/instantclient-basic-linux-12.1.0.2.0.zip

sudo mkdir -p /opt/oracle
sudo cd /opt/oracle
sudo unzip /tmp/instantclient-basic-linux-12.1.0.2.0.zip
sudo unzip /tmp/instantclient-sqlplus-linux-12.1.0.1.0.zip
sudo unzip /tmp/instantclient-sdk-linux-12.1.0.1.0.zip
sudo apt-get install libaio1
sudo cd instantclient_12_1
sudo ln -s libclntsh.so.12.1 libclntsh.so



如果是mac,需要把最后一个改为

ln -s libclntsh.dylib.12.1 libclntsh.dylib


二、设置环境变量


vim ~/.bashrc
# 添加
export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1

source ~/.bashrc


如果是mac,没有mnt目录,需要自己弄,设置如下

export OCI_DIR=/目录/oracle/instantclient_12_1


其他、遇到的某一些问题

[b]oracle汉字显示乱码
解决方案:[/b]
vim ~/.bashrc
添加
export NLS_LANG=AMERICAN_AMERICA.UTF8

source ~/.bashrc



=============
如果你没有安装上面依赖环境,会遇到下面问题

An error occurred while installing ruby-oci8 (2.1.8), and
Bundler cannot continue.
Make sure that `gem install ruby-oci8 -v '2.1.8'` succeeds
before bundling.

问题
checking for LP64... no


三、rails里面的gem安装

Gilefile里面添加
gem 'ruby-oci8'
gem 'activerecord-oracle_enhanced-adapter', '~> 1.4.0'


四、数据库配置文件
development:                                                                  
  adapter: oracle_enhanced
  host: *.*.*.*
  database: database
  port: 1521
  username: username
  password: password
  pool: 5
  timeout: 5000
  encoding: utf-8


[b]Mac下面启动的问题[b]
问题:gem安装好之后,不能连接数据库,报错
oci8.c:601:in oci8lib_230.bundle: ORA-21561: OID generation failed (OCIError)


解决方法:
echo "127.0.0.1 $(hostname)" | sudo tee -a /etc/hosts
分享到:
评论

相关推荐

    rails连接oracle需要的驱动

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

    巧用Ruby配备Oracle数据库

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

    rails2.1與Oracle 連結所需gem

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

    Ubuntu 11.04安装Ruby on rails 连接MySQL数据库.pdf

    ### Ubuntu 11.04下Ruby on Rails与MySQL数据库集成指南 #### 一、安装与配置MySQL数据库 在Ubuntu 11.04环境中,安装MySQL数据库是部署Ruby on Rails应用的重要步骤之一。首先,通过打开终端并执行以下命令进行...

    巧用ruby配备oracle数据库.pdf

    由于目前尚未出现类似于Java瘦驱动的纯Ruby驱动程序,因此要使Ruby与Oracle数据库建立连接,就需要依赖于**Ruby/Oracle调用接口(OCI8)库**。这是一个基于Ruby/DBI(数据库接口模块)的数据库驱动程序,能够实现...

    巧用Ruby配备Oracle数据库.doc

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

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

    rails和mysql数据库连接中出现的问题以及解决办法

    然而,有时在尝试连接Rails应用到MySQL数据库时,可能会遇到一些问题。本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接问题可能源于配置不正确。在`config/database.yml`文件中,你需要...

    Ruby on Rails安装及MySQL数据库配置指南

    Ruby on Rails 安装及 MySQL 数据库配置指南 本文详细介绍了 Ruby on Rails 的安装步骤,以及 MySQL 数据库的配置方法,并提供了一些官方阅读资源。 一、Ruby on Rails 安装 Ruby on Rails 的安装可以分为以下几...

    使用ROR编写ORACLE WEB应用

    总的来说,这个主题涵盖了Rails应用的开发和Oracle数据库的集成,对于想要在Rails环境下使用Oracle数据库的开发者来说,这是一个重要的学习点。通过理解Rails的MVC架构和Oracle的特性,以及如何在两者之间建立桥梁,...

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

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

    Ruby on rails 数据库详细配置

    配置完成后,Rails应用程序将能够根据这些参数与数据库建立连接,并执行CRUD(创建、读取、更新、删除)操作。Rails的ActiveRecord库提供了方便的数据模型抽象,使得开发者可以使用Ruby代码轻松操作数据库表。 总的...

    结合使用 Oracle 和 Ruby on Rails 教程

    9. **性能优化**:由于Oracle和Rails的组合可能涉及更多的性能调优,例如使用连接池、预编译的SQL语句和数据库索引。 10. **错误处理和调试**:在开发过程中,可能会遇到兼容性问题或错误,因此了解如何调试和解决...

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

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

    《web开发敏捷之道 应用rails进行敏捷web开发》(第一版)的depot源代码

    4. **路由**:Rails的路由系统是连接URL与控制器动作的桥梁,定义了URL模式到应用程序内部操作的映射。 5. **生成器**:Rails提供了许多命令行工具,如`rails generate`,用于快速创建模型、控制器、迁移等,加速...

    ubuntu下安装ruby on rails

    ### Ubuntu 下 Ruby on Rails 的安装与配置 #### 一、Ruby on Rails 的安装步骤 **1.1 系统环境准备** 确保您的 Ubuntu 系统已更新至最新状态。这一步很重要,因为新版本通常会修复旧版本中存在的问题,包括安全...

    Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码。

    5. **config**:配置目录,包含应用的配置文件,如数据库连接信息、路由设置、环境变量等。 6. **db**:数据库目录,其中的migrate子目录存放数据库迁移文件,用于更新数据库结构。 7. **test**:测试目录,存放...

    Ruby 版数据库连接池

    Ruby 版数据库连接池, 可以参考。 数据库是postgresql

Global site tag (gtag.js) - Google Analytics