您的位置:首页 > 数据库 > Oracle

Windows下安装Ora2Pg并从oracle中导出数据到postgresql

2018-03-08 14:10 531 查看
下载安装perl,下载地址:https://www.activestate.com/activeperl/downloads/thank-you?dl=http://downloads.activestate.com/ActivePerl/releases/5.24.3.2404/ActivePerl-5.24.3.2404-MSWin32-x64-404865.exe安装dmake,ppm install dmake下载ora2pg并解压,下载地址https://sourceforge.net/projects/ora2pg/编译安装ora2pgD:\highgo\ora2pg-18.2>perl Makefile.PLInvalid LICENSE value 'GPLv3' ignoredGenerating a dmake-style MakefileWriting Makefile for Ora2PgInvalid LICENSE value 'GPLv3' ignoredWriting MYMETA.yml and MYMETA.json Done...------------------------------------------------------------------------------Please read documentation at http://ora2pg.darold.net/ before asking for help------------------------------------------------------------------------------Now type: dmake && dmake install D:\highgo\ora2pg-18.2>dmake && dmake installcp lib/Ora2Pg/MySQL.pm blib\lib\Ora2Pg\MySQL.pmcp lib/Ora2Pg.pm blib\lib\Ora2Pg.pmcp lib/Ora2Pg/GEOM.pm blib\lib\Ora2Pg\GEOM.pmcp lib/Ora2Pg/PLSQL.pm blib\lib\Ora2Pg\PLSQL.pm"C:\Perl64\bin\perl.exe" -MExtUtils::Command -e cp -- scripts/ora2pg blib\script\ora2pgpl2bat.bat blib\script\ora2pg"C:\Perl64\bin\perl.exe" -MExtUtils::Command -e cp -- scripts/ora2pg_scanner blib\script\ora2pg_scannerpl2bat.bat blib\script\ora2pg_scannerInstalling C:\Perl64\html\site\lib\Ora2Pg.htmlInstalling C:\Perl64\html\site\lib\Ora2Pg\MySQL.htmlInstalling C:\Perl64\html\site\lib\Ora2Pg\PLSQL.htmlInstalling C:\Perl64\site\lib\Ora2Pg.pmInstalling C:\Perl64\site\lib\Ora2Pg\GEOM.pmInstalling C:\Perl64\site\lib\Ora2Pg\MySQL.pmInstalling C:\Perl64\site\lib\Ora2Pg\PLSQL.pmInstalling C:\Perl64\site\bin\ora2pgInstalling C:\Perl64\site\bin\ora2pg.batInstalling C:\Perl64\site\bin\ora2pg_scannerInstalling C:\Perl64\site\bin\ora2pg_scanner.bat"Installing default configuration file (ora2pg_dist.conf) to C:\ora2pg"Appending installation info to C:\Perl64\lib/perllocal.poddmake.exe:  Warning: -- Target [install] was made but the time stamp has not been updated.安装oracle驱动C:\Perl64\cpan\sources\authors\id\P\PY\PYTHIAN\DBD-Oracle-1.74>cpanLoading internal null logger. Install Log::Log4perl for logging messagesUnable to get Terminal Size. The Win32 GetConsoleScreenBufferInfo call didn't work. The COLUMNS and LINES environment variables didn't work. at C:\Perl64\lib/Term/ReadLine/readline.pm line 410. cpan shell -- CPAN exploration and modules installation (v2.1101)Enter 'h' for help. cpan> get DBD::OracleFetching with LWP:http://ppm.activestate.com/CPAN/authors/01mailrc.txt.gzReading 'C:\Perl64\cpan\sources\authors\01mailrc.txt.gz'............................................................................DONEFetching with LWP:http://ppm.activestate.com/CPAN/modules/02packages.details.txt.gzReading 'C:\Perl64\cpan\sources\modules\02packages.details.txt.gz'  Database was generated on Tue, 27 Feb 2018 06:29:03 GMT.............  New CPAN.pm version (v2.16) available.  [Currently running version is v2.1101]  You might want to try    install CPAN    reload cpan  to both upgrade CPAN.pm and run the new version without leaving  the current session.  ...............................................................DONEFetching with LWP:http://ppm.activestate.com/CPAN/modules/03modlist.data.gzReading 'C:\Perl64\cpan\sources\modules\03modlist.data.gz'DONEWriting C:\Perl64\cpan\MetadataRunning get for module 'DBD::Oracle'Fetching with LWP:http://ppm.activestate.com/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.74.tar.gzFetching with LWP:http://ppm.activestate.com/CPAN/authors/id/P/PY/PYTHIAN/CHECKSUMSChecksum for C:\Perl64\cpan\sources\authors\id\P\PY\PYTHIAN\DBD-Oracle-1.74.tar.gz okScanning cache C:\Perl64/cpan/build for sizesDONE……DBD-Oracle-1.74/dbdimp.cDBD-Oracle-1.74/README cpan> install DBD::Oracle  示例:使用Ora2pg导出Scott用户下的表配置Ora2pg配置文件:C:\ora2pg\ora2pg.confORACLE_HOME D:\app\Administrator\product\11.2.0\dbhome_1ORACLE_DSN  dbi:Oracle:host=127.0.0.1;sid=orclORACLE_USER system     --导出使用的用户ORACLE_PWD  oracleSCHEMA            scott         --将要导出的用户USER_GRANTS     0DEBUG       0ORA_INITIAL_COMMANDEXPORT_SCHEMA   0CREATE_SCHEMA   1COMPILE_SCHEMA  0TYPE        TABLE,INSERTOUTPUT      C:\ora2pg\output.sql    --导出文件放置位置 执行导出C:\Perl64\cpan\sources\authors\id\P\PY\PYTHIAN\DBD-Oracle-1.74>ora2pg -c C:\ora2pg\ora2pg.conf[========================>] 4/4 tables (100.0%) end of scanning.[>                        ] 0/4 tables (0.0%) end of scanning.[========================>] 4/4 tables (100.0%) end of table export.[========================>] 0/0 rows (100.0%) Table BONUS (0 recs/sec)[>                        ]  0/23 total rows (0.0%) - (0 sec., avg: 0 recs/sec).[========================>] 4/4 rows (100.0%) Table DEPT (4 recs/sec)[====>                    ]  4/23 total rows (17.4%) - (1 sec., avg: 4 recs/sec).[========================>] 14/14 rows (100.0%) Table EMP (14 recs/sec)[==================>      ] 18/23 total rows (78.3%) - (3 sec., avg: 6 recs/sec).[========================>] 5/5 rows (100.0%) Table SALGRADE (5 recs/sec)[========================>] 23/23 total rows (100.0%) - (5 sec., avg: 4 recs/sec).[========================>] 23/23 rows (100.0%) on total estimated data (5 sec., avg: 4 recs/sec) 导出的文件内容如下:-- Generated by Ora2Pg, the Oracle database Schema converter, version 18.2-- Copyright 2000-2017 Gilles DAROLD. All rights reserved.-- DATASOURCE: dbi:Oracle:host=127.0.0.1;sid=orcl SET client_encoding TO 'UTF8'; \set ON_ERROR_STOP ON SET check_function_bodies = false;  CREATE TABLE salgrade (    grade bigint,    losal bigint,    hisal bigint) ; CREATE TABLE dept (    deptno smallint NOT NULL,    dname varchar(14),    loc varchar(13)) ;ALTER TABLE dept ADD PRIMARY KEY (deptno); CREATE TABLE emp (    empno smallint NOT NULL,    ename varchar(10),    job varchar(9),    mgr smallint,    hiredate timestamp,    sal decimal(7,2),    comm decimal(7,2),    deptno smallint) ;ALTER TABLE emp ADD PRIMARY KEY (empno); CREATE TABLE bonus (    ename varchar(10),    job varchar(9),    sal bigint,    comm bigint) ;ALTER TABLE emp ADD CONSTRAINT fk_deptno FOREIGN KEY (deptno) REFERENCES dept(deptno) ON DELETE NO ACTION NOT DEFERRABLE INITIALLY IMMEDIATE;-- Generated by Ora2Pg, the Oracle database Schema converter, version 18.2-- Copyright 2000-2017 Gilles DAROLD. All rights reserved.-- DATASOURCE: dbi:Oracle:host=127.0.0.1;sid=orcl SET client_encoding TO 'UTF8'; \set ON_ERROR_STOP ON SET check_function_bodies = false;  BEGIN;INSERT INTO dept (deptno,dname,loc) VALUES (10,E'ACCOUNTING',E'NEW YORK');INSERT INTO dept (deptno,dname,loc) VALUES (20,E'RESEARCH',E'DALLAS');INSERT INTO dept (deptno,dname,loc) VALUES (30,E'SALES',E'CHICAGO');INSERT INTO dept (deptno,dname,loc) VALUES (40,E'OPERATIONS',E'BOSTON');INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7369,E'SMITH',E'CLERK',7902,'1980-12-17 00:00:00',800,NULL,20);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7499,E'ALLEN',E'SALESMAN',7698,'1981-02-20 00:00:00',1600,300,30);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7521,E'WARD',E'SALESMAN',7698,'1981-02-22 00:00:00',1250,500,30);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7566,E'JONES',E'MANAGER',7839,'1981-04-02 00:00:00',2975,NULL,20);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7654,E'MARTIN',E'SALESMAN',7698,'1981-09-28 00:00:00',1250,1400,30);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7698,E'BLAKE',E'MANAGER',7839,'1981-05-01 00:00:00',2850,NULL,30);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7782,E'CLARK',E'MANAGER',7839,'1981-06-09 00:00:00',2450,NULL,10);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7788,E'SCOTT',E'ANALYST',7566,'1987-04-19 00:00:00',3000,NULL,20);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7839,E'KING',E'PRESIDENT',NULL,'1981-11-17 00:00:00',5000,NULL,10);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7844,E'TURNER',E'SALESMAN',7698,'1981-09-08 00:00:00',1500,0,30);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7876,E'ADAMS',E'CLERK',7788,'1987-05-23 00:00:00',1100,NULL,20);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7900,E'JAMES',E'CLERK',7698,'1981-12-03 00:00:00',950,NULL,30);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7902,E'FORD',E'ANALYST',7566,'1981-12-03 00:00:00',3000,NULL,20);INSERT INTO emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) VALUES (7934,E'MILLER',E'CLERK',7782,'1982-01-23 00:00:00',1300,NULL,10);INSERT INTO salgrade (grade,losal,hisal) VALUES (1,700,1200);INSERT INTO salgrade (grade,losal,hisal) VALUES (2,1201,1400);INSERT INTO salgrade (grade,losal,hisal) VALUES (3,1401,2000);INSERT INTO salgrade (grade,losal,hisal) VALUES (4,2001,3000);INSERT INTO salgrade (grade,losal,hisal) VALUES (5,3001,9999); COMMIT;将以上语句在hgdb中执行即可:执行结果 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: