程序实现数据从mysql转到oracle

发布网友

我来回答

3个回答

热心网友

不懂c,我提供个思路给你
先通过 c程序调用mysql指令,导出mysql表中的数据到一个文件中,
select * into outfile ’/home/mysql/data.txt’
FIELDS TERMINATED BY ’, '
lines ESCAPED BY ’\n'
from tbname
------------------------------------------------------------把mysql表导到data.txt文件中,列与列之间用逗号分开,行与行之间用\n分割

接下来你需要通过c去解析文件,把文件的内容解析成一行行的insert into tbname values语句,values就是列的值,一行一个insert语句,最后c去调用这些sql语句在oracle中执行就可以,
思路就是这样,因为不了解c和oracle,所以,一些细节需要你去考虑

热心网友

接着@汪雄辉拉 补充,ORACLE这边的数据类型和Mysql是不一样的,另外表空间,还有一些基本的SQL语法也是有差异的,你可以把SQL贴出来,让大家看看~~~希望对你有帮助。追问sql是数据库,很大的.sql文件,里面有很多单词和乱码。如:
-- MySQL mp 10.11
-- Host: localhost Database: vehicle
-- Server version5.0.77
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

追答你的关键是先用c读mysql的数据存oracle里(双机备份,mysql和oracle两个库的业务逻辑产生的数据保持一致)?还是只是将mysql的数据一次性的切换到oracle?

热心网友

  这个真不是人干的,
  有一些动不动就几十万的工具case类工具能做这个。
  你要是一次性的转换的话,导出导入数据就行。
  你要是真写一个工具的话,你的能连接两个不同的库,并且把从o库中的数据读出,一条一条的写到M库中,
  倒是oracel有对应的透明网关服务,可直接连mysql , 然后你的一个作业,让他定时做也行,
  你说的不清,不知你要达到什么目的。只能说这么多。追问当然是将mysql数据转换成Oracle数据。这两类数据根据放的位置不同,用户可以直接用Oracle数据库导入数据文件

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com