Howdy: Sorry for posting, but I couldn't get much info from the PostgreSQL group. I have a question about the Oracle to PostgreSQL perl script (ora2pg.pl).
Running PostgreSQL 7.2 and Oracle 9.2.0.1 on RedHat Linux 7.2. I'm trying to use the Ora2pg.pl script that I found on the PostgreSQL site. I'm hoping someone could point out what's wrong with this. I believe that I have made the correct adjustments to the ora2pg.pl script that would let me connect to Oracle and use the export function, but I get the following when I run the script: 1) - a list of tables : Retrieving table information... ARRAY(0x833e2f0) Duplicate entry found: - user - PLAN_TABLE Duplicate entry found: - user - PLAN_TABLE Duplicate entry found: - user - PLAN_TABLE Duplicate entry found: - user - PLAN_TABLE Duplicate entry found: - user - PLAN_TABLE 2) - i finally get my target table, but then the script dies: [snip] Scanning SYS_ED_INP ( user SYS_ED_INP TABLE )... Getting column info for table 'SYS_ED_INP' / owner 'user' MBR_ID => type:VARCHAR2 , length:11, precision:, scale:, nullable:Y , default: CODE => type:VARCHAR2 , length:2, precision:, scale:, nullable:Y , default: PROC_1 => type:VARCHAR2 , length:6, precision:, scale:, nullable:Y ,default: PROC_2 => type:VARCHAR2 , length:6, precision:, scale:, nullable:Y ,default: PROC_3 => type:VARCHAR2 , length:6, precision:, scale:, nullable:Y ,default: DIAG_1 => type:VARCHAR2 , length:6, precision:, scale:, nullable:Y ,default: DIAG_2 => type:VARCHAR2 , length:6, precision:, scale:, nullable:Y ,default: DIAG_3 => type:VARCHAR2 , length:6, precision:, scale:, nullable:Y ,default: DIAG_4 => type:VARCHAR2 , length:6, precision:, scale:, nullable:Y , default: DIAG_5 => type:VARCHAR2 , length:6, precision:, scale:, nullable:Y ,default: FROM_DT => type:DATE , length:7, precision:, scale:, nullable:Y , default: THRU_DT => type:DATE , length:7, precision:, scale:, nullable:Y , default: BILLINGPROVIDERNUM => type:VARCHAR2 , length:12, precision:, scale:, nullable:Y , default: BILLINGPROVIDERNAME => type:VARCHAR2 , length:28, precision:, scale:, nullable:Y , default: DIAGNOSISDESCRIPTION => type:VARCHAR2 , length:60, precision:, scale:, nullable:Y , default: ADDED => type:DATE , length:7, precision:, scale:, nullable:Y ,default: ID => type:NUMBER , length:22, precision:, scale:, nullable:Y ,default: PRODUCT => type:VARCHAR2 , length:1, precision:, scale:, nullable:Y, default: Duplicate entry found: - user - USERBOTHLOGIN Database handle destroyed without explicit disconnect. [/snip] questions: 1) am i supposed to put some disconnect statement in the program? 2) i'm concerend about the list of tables it's finding saying 'duplicate' ... what is that really talking about and why is it doing that? 3) how can i get the program to only export the data of ONE table (I have the table created, but empty on PostgreSQL already)? NOTE: this is what the program looks like now [snip ora2pg.pl] #!/usr/bin/perl #--------------------------------------------------------------------------- --- # Project : Oracle to Postgresql converter # Name : ora2pg.pl # Language : perl, v5.6.1 # OS : linux RedHat 7.3 kernel 2.4.18-17.7.xsmp # Author : Gilles Darold, [EMAIL PROTECTED] # Copyright: Copyright (c) 2000-2002 : Gilles Darold - All rights reserved - # Function : Script used to convert Oracle Database to PostgreSQL #--------------------------------------------------------------------------- --- # Version : 2.0 #--------------------------------------------------------------------------- --- BEGIN { $ENV{ORACLE_HOME} = '/var/opt/oracle/product/9.2.0'; } use strict; use Ora2Pg; # Initialyze the database connection my $dbsrc = 'dbi:Oracle:host=local.system.com;sid=test_inst'; my $dbuser = 'system'; my $dbpwd = 'manager'; # Create an instance of the Ora2Pg perl module my @tables = ('SYS_ED_INP'); my $schema = new Ora2Pg ( datasource => $dbsrc, # Database DBD datasource user => $dbuser, # Database user password => $dbpwd, # Database password tables => [EMAIL PROTECTED], debug => 1 # To show somethings when running ); #### Function to use for extraction when type option is set to DATA or COPY # Send exported data directly to a PostgreSQL database $schema->send_to_pgdb('dbi:Pg:dbname=test_db','user'); # Output the data extracted from Oracle DB to a file or to STDOUT if no argument. #$schema->export_data("/var/tmp/output.sql"); #### Function to use for extraction of other type # Create the POSTGRESQL representation of all objects in the database #$schema->export_schema("output.functions.sql"); exit(0); [/snip ora2pg.pl] Suggestions welcomed. Thanks! -X