Firebird Database Conversion Tool

The Firebird database conversion tool contained within RazorSQL allows users to convert Firebird tables to the following database types:

  • DB2
  • HSQLDB
  • H2
  • MS Access
  • MS SQL Server
  • MySQL / MariaDB
  • Oracle
  • PostgreSQL
  • Redshift
  • SQL Azure
  • SQLite

RazorSQL contains conversion tools to convert one or many tables at a time. When converting tables, the tool looks at the type of database the table is being converted to, and generates the database specific DDL to generate the table. It looks at the source database column types and does any adjustments necessary to convert those column types to the destination database's format. The tool then generates and executes the insert statements necessary to populate the table data on the destination database.

For example, when converting the Firebird employee table from Firebird to MySQL, the conversion tool generates the following MySQL DDL and insert statements corresponding to the Firebird employee table:

CREATE TABLE EMPLOYEE ( EMP_NO INT NOT NULL, FIRST_NAME VARCHAR(15) NOT NULL, LAST_NAME VARCHAR(20) NOT NULL, PHONE_EXT VARCHAR(4), HIRE_DATE TIMESTAMP NOT NULL, DEPT_NO CHAR(3) NOT NULL, JOB_CODE VARCHAR(5) NOT NULL, JOB_GRADE INT NOT NULL, JOB_COUNTRY VARCHAR(15) NOT NULL, SALARY DECIMAL(10,2) NOT NULL, FULL_NAME VARCHAR(37), PRIMARY KEY (EMP_NO) ); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (2, 'Robert', 'Nelson', '250', '1988-12-28 00:00:00.0', '600', 'VP', 2, 'USA', 105900.00, 'Nelson, Robert'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (4, 'Bruce', 'Young', '233', '1988-12-28 00:00:00.0', '621', 'Eng', 2, 'USA', 97500.00, 'Young, Bruce'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (5, 'Kim', 'Lambert', '22', '1989-02-06 00:00:00.0', '130', 'Eng', 2, 'USA', 102750.00, 'Lambert, Kim'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (8, 'Leslie', 'Johnson', '410', '1989-04-05 00:00:00.0', '180', 'Mktg', 3, 'USA', 64635.00, 'Johnson, Leslie'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (9, 'Phil', 'Forest', '229', '1989-04-17 00:00:00.0', '622', 'Mngr', 3, 'USA', 75060.00, 'Forest, Phil'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (11, 'K. J.', 'Weston', '34', '1990-01-17 00:00:00.0', '130', 'SRep', 4, 'USA', 86292.94, 'Weston, K. J.'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (12, 'Terri', 'Lee', '256', '1990-05-01 00:00:00.0', '000', 'Admin', 4, 'USA', 53793.00, 'Lee, Terri'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (14, 'Stewart', 'Hall', '227', '1990-06-04 00:00:00.0', '900', 'Finan', 3, 'USA', 69482.63, 'Hall, Stewart'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (15, 'Katherine', 'Young', '231', '1990-06-14 00:00:00.0', '623', 'Mngr', 3, 'USA', 67241.25, 'Young, Katherine'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (20, 'Chris', 'Papadopoulos', '887', '1990-01-01 00:00:00.0', '671', 'Mngr', 3, 'USA', 89655.00, 'Papadopoulos, Chris'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (24, 'Pete', 'Fisher', '888', '1990-09-12 00:00:00.0', '671', 'Eng', 3, 'USA', 81810.19, 'Fisher, Pete'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (28, 'Ann', 'Bennet', '5', '1991-02-01 00:00:00.0', '120', 'Admin', 5, 'England', 22935.00, 'Bennet, Ann'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (29, 'Roger', 'De Souza', '288', '1991-02-18 00:00:00.0', '623', 'Eng', 3, 'USA', 69482.63, 'De Souza, Roger'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (34, 'Janet', 'Baldwin', '2', '1991-03-21 00:00:00.0', '110', 'Sales', 3, 'USA', 61637.81, 'Baldwin, Janet'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (36, 'Roger', 'Reeves', '6', '1991-04-25 00:00:00.0', '120', 'Sales', 3, 'England', 33620.63, 'Reeves, Roger'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (37, 'Willie', 'Stansbury', '7', '1991-04-25 00:00:00.0', '120', 'Eng', 4, 'England', 39224.06, 'Stansbury, Willie'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (44, 'Leslie', 'Phong', '216', '1991-06-03 00:00:00.0', '623', 'Eng', 4, 'USA', 56034.38, 'Phong, Leslie'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (45, 'Ashok', 'Ramanathan', '209', '1991-08-01 00:00:00.0', '621', 'Eng', 3, 'USA', 80689.50, 'Ramanathan, Ashok'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (46, 'Walter', 'Steadman', '210', '1991-08-09 00:00:00.0', '900', 'CFO', 1, 'USA', 116100.00, 'Steadman, Walter'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (52, 'Carol', 'Nordstrom', '420', '1991-10-02 00:00:00.0', '180', 'PRel', 4, 'USA', 42742.50, 'Nordstrom, Carol'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (61, 'Luke', 'Leung', '3', '1992-02-18 00:00:00.0', '110', 'SRep', 4, 'USA', 68805.00, 'Leung, Luke'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (65, 'Sue Anne', 'O''Brien', '877', '1992-03-23 00:00:00.0', '670', 'Admin', 5, 'USA', 31275.00, 'O''Brien, Sue Anne'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (71, 'Jennifer M.', 'Burbank', '289', '1992-04-15 00:00:00.0', '622', 'Eng', 3, 'USA', 53167.50, 'Burbank, Jennifer M.'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (72, 'Claudia', 'Sutherland', null, '1992-04-20 00:00:00.0', '140', 'SRep', 4, 'Canada', 100914.00, 'Sutherland, Claudia'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (83, 'Dana', 'Bishop', '290', '1992-06-01 00:00:00.0', '621', 'Eng', 3, 'USA', 62550.00, 'Bishop, Dana'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (85, 'Mary S.', 'MacDonald', '477', '1992-06-01 00:00:00.0', '100', 'VP', 2, 'USA', 111262.50, 'MacDonald, Mary S.'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (94, 'Randy', 'Williams', '892', '1992-08-08 00:00:00.0', '672', 'Mngr', 4, 'USA', 56295.00, 'Williams, Randy'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (105, 'Oliver H.', 'Bender', '255', '1992-10-08 00:00:00.0', '000', 'CEO', 1, 'USA', 212850.00, 'Bender, Oliver H.'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (107, 'Kevin', 'Cook', '894', '1993-02-01 00:00:00.0', '670', 'Dir', 2, 'USA', 111262.50, 'Cook, Kevin'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (109, 'Kelly', 'Brown', '202', '1993-02-04 00:00:00.0', '600', 'Admin', 5, 'USA', 27000.00, 'Brown, Kelly'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (110, 'Yuki', 'Ichida', '22', '1993-02-04 00:00:00.0', '115', 'Eng', 3, 'Japan', 6000000.00, 'Ichida, Yuki'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (113, 'Mary', 'Page', '845', '1993-04-12 00:00:00.0', '671', 'Eng', 4, 'USA', 48000.00, 'Page, Mary'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (114, 'Bill', 'Parker', '247', '1993-06-01 00:00:00.0', '623', 'Eng', 5, 'USA', 35000.00, 'Parker, Bill'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (118, 'Takashi', 'Yamamoto', '23', '1993-07-01 00:00:00.0', '115', 'SRep', 4, 'Japan', 7480000.00, 'Yamamoto, Takashi'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (121, 'Roberto', 'Ferrari', '1', '1993-07-12 00:00:00.0', '125', 'SRep', 4, 'Italy', 33000.00, 'Ferrari, Roberto'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (127, 'Michael', 'Yanowski', '492', '1993-08-09 00:00:00.0', '100', 'SRep', 4, 'USA', 44000.00, 'Yanowski, Michael'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (134, 'Jacques', 'Glon', null, '1993-08-23 00:00:00.0', '123', 'SRep', 4, 'France', 38500.00, 'Glon, Jacques'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (136, 'Scott', 'Johnson', '265', '1993-09-13 00:00:00.0', '623', 'Doc', 3, 'USA', 60000.00, 'Johnson, Scott'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (138, 'T.J.', 'Green', '218', '1993-11-01 00:00:00.0', '621', 'Eng', 4, 'USA', 36000.00, 'Green, T.J.'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (141, 'Pierre', 'Osborne', null, '1994-01-03 00:00:00.0', '121', 'SRep', 4, 'Switzerland', 110000.00, 'Osborne, Pierre'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (144, 'John', 'Montgomery', '820', '1994-03-30 00:00:00.0', '672', 'Eng', 5, 'USA', 35000.00, 'Montgomery, John'); INSERT INTO EMPLOYEE(EMP_NO, FIRST_NAME, LAST_NAME, PHONE_EXT, HIRE_DATE, DEPT_NO, JOB_CODE, JOB_GRADE, JOB_COUNTRY, SALARY, FULL_NAME) VALUES (145, 'Mark', 'Guckenheimer', '221', '1994-05-02 00:00:00.0', '622', 'Eng', 5, 'USA', 32000.00, 'Guckenheimer, Mark');

Firebird Database Conversion Tool