• Rails连接oracle配置


     
     
    Ubuntu 16.04下安装Oracle数据库客户端,使Django项目连接到远程Oracle数据库。
    参考文档:https://chinacheng.iteye.com/blog/2244282

    1.下载oracle安装包
    下载需要登录oracle账号,并且要同意协议,直接点击下面链接无法下载
    如遇版本修改,连接可能失效,请在官网自行搜索下载
    oracle账号密码
    https://login.oracle.com/mysso/signon.jsp
    1209374096@qq.com Lmg1209374096

    要选择好版本
    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


    64位安装步骤
    2.将安装包上传到 /tmp 目录下
    cd /opt
    sudo mkdir oracle
    cd oracle

    sudo unzip /tmp/instantclient-basic-linux.x64-12.1.0.2.0.zip
    sudo unzip /tmp/instantclient-sqlplus-linux.x64-12.1.0.1.0.zip
    sudo unzip /tmp/instantclient-sdk-linux.x64-12.1.0.1.0.zip

    sudo apt-get install libaio1
    cd instantclient_12_1
    sudo ln -s libclntsh.so.12.1 libclntsh.so

    3.设置环境变量
    cd ~
    vi ~/.bashrc
    # 添加
    export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1
    source ~/.bashrc

    4.安装Gem包
    Gilefile里面添加
    gem 'ruby-oci8'
    gem 'activerecord-oracle_enhanced-adapter'

    5.执行 bundle install

    6.修改config/database.yml
    oracle_development: #名字可自定义,但是不能重复。
    adapter: oracle_enhanced
    username: A8USER
    database: oaorcl
    password: Admin123456
    host: 192.168.100.114
    port: 1521 # Oracle DB 的端口号,如果为 Mysql 则不用写。
    encoding: utf8

    7.添加model映射表,在app/models新增d_oa_database.rb
    class DOaDatabase < ActiveRecord::Base
    self.abstract_class = true
    establish_connection :oracle_development # oracle_development 为database.yml文件中添加的第二个 DB 配置的名字
    self.table_name = "FORMMAIN_5399" #表名
    end
    • oracle数据库ip ping不通问题

    由于之前虚拟机安装了docker,并添加了一个网桥,导致无法ping通192.168.100.114

    解决方法:

    通过sudo docker network ls 可以查看到网络类型中多了一个staticnet

    sudo docker network rm 1bc9809f1c71 #删除该网桥即可

    • 中文乱码问题
    1.先查出数据库的字符集
    出现
    AMERICAN_AMERICA.UTF8
    说明服务器的字符编为utf8格式
     
    2.修改~/.bashrc,添加
    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    3.source ~/.baserc
    4.env|grep LANG 查看环境变量
    5.rails c 测试
     
  • 相关阅读:
    聊聊C#中的Visitor模式
    数据库软件哪个好用(目前最靠谱的10个数据库软件)
    微软加入开放 3D 基金会,将推动开源 3D 引擎发展
    三小工具构建Modbus调试环境
    世界六大顶尖的软件强国
    ThinkPad哪个产品系列比较好?
    echarts 中Canvas和SVG的区别
    15K Star!Github 上最火的低代码开发平台!
    valueOf 是基于毫秒为单位的
    fullPage.js: 月收一万五千美元的开源JavaScript组件
  • 原文地址:https://www.cnblogs.com/lmg-jie/p/11401449.html
Copyright © 2020-2023  润新知