发布网友
共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数据库导入数据文件