如何用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 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器