如何把oracle中表的数据导入mysql

1、 运行MySQL Migration Toolkit,一路“Next”到“Source Database”,在Database System中选择Oracle Database Server,如果第一次使用会告之要求加载驱动程序ojdbc14.jar。加载驱动程序之后,界面将变成如下的形式,在其中填写Oracle数据库的连接信息,按“Next”继续。2、 在Target Database中默认Data...
如何把oracle中表的数据导入mysql
一、将表中数据导入文本文件保存
我是在WIN下的命令行模式做的
Mysql>select * from my_mysql_table into outfile 'c: /my_tmp.txt';

二、写控制文件
用记事本开文档写完后改扩展名为.ctl,以下是具体内容

load data
infile 'c:/my_tmp.txt'
into table my_ora_table
replace
fields terminated by x'09'
(字段1,字段2,字段3,......字段N)

字段1~N是你要导入的MySql的表字段数据,不需要的字段可以不写。

三、用Sqlldr导入文本
c:\>sqlldr ora_usr
回车后输入控制文件的路径,密码,接下来加载控制文件自动导入。导入完成后,会生成个.log文件,可以查看你导入是否成功,不成功按提示的错误查找原因。

注意的是:导入文本前,应在ORACLE数据库中事先建好要写入数据的表,并且要和所要导入的数据字段一致,如果不知MySql的表结构,可以在Mysql>show create table my_mysql_table;查看建表的SQL,将其转换成Oracle中可执行的SQL.2014-12-17
1、 运行MySQL Migration Toolkit,一路“Next”到“Source Database”,在Database System中选择Oracle Database Server,如果第一次使用会告之要求加载驱动程序ojdbc14.jar。
加载驱动程序之后,界面将变成如下的形式,在其中填写Oracle数据库的连接信息,按“Next”继续。
2、 在Target Database中默认Database System为MySQL Server,在Connection Parameters中填写相应的MySQL数据库的连接信息,按“Next”继续。
3、进行数据库连接测试,测试通过后按“Next”到Source Schemata Selection,点选准备进行数据迁移的Schemata后按“Next”继续。
4、在Object Type Selection,点Detailed selection按钮,在下方左侧列表中选择不进行迁移的表,将其放入右侧列表中,即左侧列表剩余的表都将进行数据迁移。选择好之后按“Next”继续。
5、在Object Mapping的Migration of type Oracle Schema,如果要设置参数,点Set Parameter按钮。如果默认数据库表为UTF8的话,则选择Multilanguage;如果默认数据库表为GBK的话,则需要选择User defined,并在下方填写charset=gbk, collation=gbk_general_ci。Migration of type Oracle Table中要设置参数点Set Parameter按钮。如果默认数据库表为UTF8的话,则选择Data consistency/multilanguage;如果默认数据库表为GBK的话,则需要选择User defined,并在下方填写addAutoincrement=yes, charset=gbk, collation=gbk_general_ci, engine=INNODB。选择好之后按“Next”继续。
6、再到Manual Editing,在这里可以修改建表脚本。由于Oracle与MySQL之间语法规则的差异,通常需要对脚本的数据类型以及默认值进行调整,比如Oracle中通常会对Timestamp类型的数据设置默认值sysdate,但在MySQL中是不能识别的。在Filter中选择Show All Objects,然后在Migrated Objects中选择要修改脚本的表,再点击左下方的Advanced就可以进行脚本编辑了。修改完之后点击右侧Apply Changes按钮保存,按“Next”继续。
7、然后一路“Next”,如果没有提示出错的话,就可以将指定表中的数据导入MySQL了。如果有提示出错信息,则需要返回到Manual Editing处对脚本重新进行修改。
需要补充一点,在导大容量数据特别是CLOB数据时,可能会出现异常:“Packets larger than max_allowed_packet are not allowed”。这是由于MySQL数据库有一个系统参数max_allowed_packet,其默认值为1048576(1M),可以通过如下语句在数据库中查询其值:
show VARIABLES like '%max_allowed_packet%';
修改此参数的方法是在mysql文件夹找到my.ini文件,在my.ini文件[mysqld]中添加一行:
max_allowed_packet=16777216
重启MySQL,这样将可以导入不大于16M的数据了,当然这数值可以根据需要作调整。2016-01-13
mengvlog 阅读 45 次 更新于 2025-09-09 13:39:50 我来答关注问题0
  •  翡希信息咨询 怎样将oracle中某一张表的数据导出为dmp文件

    方法一:使用PL/SQL Developer导出打开PL/SQL Developer:启动PL/SQL Developer并连接到你的Oracle数据库。使用导出功能:在PL/SQL Developer中,找到你想要导出的表。右键点击该表,选择“导出表”选项。根据弹出的对话框中的提示,配置导出参数,确保选择dmp文件格式,并指定导出文件的路径和名称。完成导出...

  •  太平洋科技 Oracle如何导出数据表?

    1、首先打开PL/SQLDeveloper,输入用户名、密码登录oracle数据库。2、【导出 - 1】点击顶部菜单【Tools】->【Export Tables】。3、然后选择要导出的用户(默认是当前登录的用户),点击【Output file】后面的文件夹图标,选择数据库导出文件存放位置与导出文件的名字。4、在【在导出表界面】选中表名,可...

  •  宸辰游艺策划 如何用plsql从oracle中导入导出数据

    要将Excel中的数据导入到数据库中,可以遵循以下步骤:1. 在Excel中准备好要导入的数据,确保第一列为空,其余列与目标表的字段一一对应。2. 登录PLSQL Developer,找到目标数据库表,右键点击并选择“Edit Data”进入编辑模式。3. 在PLSQL Developer界面中,选择一个空白行,然后将Excel中的数据复制...

  •  翡希信息咨询 怎样将oracle中某一张表的数据导出为dmp文件

    要将Oracle中某一张表的数据导出为dmp文件,可以使用exp命令。以下是详细的操作步骤:使用exp命令导出表数据为dmp文件 打开命令提示符:在Windows系统中,可以搜索“cmd”或“命令提示符”并打开。执行exp命令:使用以下格式的命令:exp 用户名/密码 file=文件存放路径 tables=要导出的表名例如,要将用户s...

  •  翡希信息咨询 Oracle如何导出数据表?

    在导出表界面中,选中需要导出的表名。可以通过配合键盘的Ctrl或Shift键实现多选。点击Export按钮,即可开始导出选中的表。导出所有表:如果需要导出所有表,可以不选中任何表名称,直接点击Export按钮。在弹出的提示框中,点击是,即可导出当前用户下的所有表。通过以上步骤,即可成功导出Oracle数据库中的数据...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部