如何用ruby,仅仅是用ruby来实现将一个表中的数据导入到另外一张表中,如mysql中的user表导入到oracle中的user表,如何实现,最好附上代码,谢谢各位大侠 了。
1条回答 默认 最新
- Hooopo 2009-07-16 15:00关注
1.把mysql中user表序列化成Json格式到一个本地文件
[code="ruby"]
require 'rubygems'
require 'activerecord'
require 'yaml'
require 'logger'
#配置数据库连接信息
dbconfig = YAML.load(DATA.read)["user"]
ActiveRecord::Base.establish_connection(dbconfig)
#数据库log
ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a'))
#构造Lawyer模型
class User < ActiveRecord::Base;end
File.open("users","w") do |file|
file.write User.find(:all).to_json
end
#以下为数据库连接配置,请根据自己的账户和密码设置..
END
user:
adapter: mysql
encoding: utf8
reconnect: false
database: user
pool: 5
username: root
password:
host: localhost[/code]
2.读取Json到Hash
[code="ruby"]
require'json'
json_string = ""
File.open("lawyers","r") do |file|
json_string << file.read
end
hash = JSON.parse json_string
#返回一个hash数组,每个元素是一条记录
[/code]
3.把Json导入oracle数据库
连接oracle数据库和上面一样,只不过把数据库名称改成adapter: oracle
然后在确保上面oracle数据连接按照上面配置好的情况下
[code="ruby"]
User.create hash
[/code]ps:相信数据量不是很大,如果记录条数很多可以每次转移一定数目条数...
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)
- ¥15 keil里为什么main.c定义的函数在it.c调用不了
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类
- ¥15 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏