FAQ
Am I dreaming, hoping? Wasn't it possible to take a comma-dlt. text file
and from the column list dynamically generate a table then load the data.
Hmmmm. I could write that pretty easily but problem is wouldn't necessarily
know datatypes and sizes. Okay - I guess I am dreaming.

Data Warehouse builder versus data migration tool:

-when would you use one or the other?
-is the juice worth the squeeze or am I better off doing myself as I have
last 6 years
-extra purchase - which one?

Thanks,
Paula

--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author:
INET: Paula_Stankus_at_doh.state.fl.us

Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message

to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).

Search Discussions

  • Lord, David - CSG at May 16, 2003 at 8:17 am
    This message is in MIME format. Since your mail reader does not understand
    this format, some or all of this message may not be legible.

    ------_=_NextPart_001_01C31B7A.B8FDD9B0
    Content-Type: text/plain; charset="iso-8859-1"

    Paula


    I've just recently written a little awk script to do what I think you're
    after... I might get shot for using awk;) but at least I can guarantee
    that it will be installed on any unix box I come to.


    Regards
    David Lord


    #!/usr/bin/nawk -f
    ############################################################################
    ####
    # NAME

    #
    # loadcsv.awk - generate scripts to create a table and load a CSV file into
    it
    #
    # SYNOPSIS

    #
    # loadcsv.awk .csv
    #
    # DESCRIPTION

    #
    # Generates two output files: -
    #
    # 1) A SQL script named .sql (where is the basename of
    the
    # input file) containing statements to create a table suitable for loading
    the
    # data into. The table is named . All columns are varchar2's
    large
    # enough to hold the maximum length of the column. The names of the columns
    # are taken from the first line of the CSV file, tidied up to remove leading
    # and trailing blanks and replace spaces with underscores. If any column in
    the
    # CSV file is empty, the column is not added to the table.
    #
    # 2) A SQL*Loader control file named .ctl for loading the data
    into
    # the table. Fields which are empty are specified as FILLER fields.
    #
    # OPTIONS

    #
    # filename.csv - The name of a csv file. It must have the column names
    # as the first line.
    #
    # EXAMPLE

    #
    # First, run the script: -
    #
    # % loadcsv.awk myfile.csv
    #
    # Then, login to sqlplus and run the SQL script to create the table: -
    #
    # SQL> @myfile.sql
    #
    # Finally, use sqlldr to load the data into the table: -
    #
    # % sqlldr scott/tiger myfile.ctl data = myfile.csv
    #
    # KNOWN ISSUES

    #
    # This script does not check that the length of the columns is sensible.
    So,
    # if any cell contains more than 4000 characters, the create table command
    will
    # fail.
    #
    # AUTHOR

    #
    # David Lord, April 2003
    ############################################################################
    ####


    BEGIN {

    # Field separator is a comma
    FS = ",";


    # Get the name of the input file and strip the .csv
    if(ARGC > 1) {
    filename = ARGV[1];
    gsub(/\.csv/, "", filename);
    } else {
    filename = FILENAME;
    }


    # The name of the 'create table' file
    sqlfilename = filename ".sql";


    # The name of the sqlloader control file
    ctlfilename = filename ".ctl";
    }


    # The first line contains the column names
    NR == 1 {
    num_cols = NF;
    for(i = 1; i <= num_cols; i++) {
    # Tidy up the column name

    gsub(/ /, "_", $i);
    gsub(/_*$/, "", $i);
    gsub(/^_*/, "", $i);

    # Add to an array of column names
    col_names[i] = tolower($i);


    # Initialise the column length
    col_lengths[i] = 0;
    }
    }


    # Find the maximum length of each column
    NR > 1 {
    i = 1;
    j = 1;
    while(i <= NF) {
    col_length = 0;
    if($i ~ /^ *\"/) {

    gsub(/^ *\"/, "", $i);
    while(i <= NF && $i !~ /\" *$/) {
    col_length += length($i) + 1;
    i++;
    }
    gsub(/\" *$/, "", $i);

    }
    col_length += length($i);
    if(col_length > col_lengths[j]) {
    col_lengths[j] = col_length;
    }
    i++;
    j++;
    }
    }


    # Print the scripts
    END {

    # Begin the create table statement
    printf("create table " filename "(") > sqlfilename;
    firstcol = 1;


    # Loop over the columns
    for(i = 1; i <= num_cols; i++) {
    col_name = col_names[i];
    col_length = col_lengths[i];


    # Ignore empty columns
    if(col_length > 0) {

    # Put a comma on the end of every line but the first
    if(firstcol == 1) {
    firstcol = 0;
    } else {
    printf(",") >> sqlfilename;
    }

    # Print the column definition
    printf("\n\t%-30s %s", col_name, "varchar2(" col_length ")") >>

    sqlfilename;

    }
    }


    # Finish the create table statement
    printf("\n);\n") >> sqlfilename;


    # Begin the control file

    printf("options (skip=1)") > ctlfilename;
    printf("\nload data") >> ctlfilename;
    printf("\nappend") >> ctlfilename;
    printf("\ninto table %s", filename) >> ctlfilename;
    printf("\nfields terminated by \",\" optionally enclosed by '\"'") >>

    ctlfilename;
    printf("\ntrailing nullcols") >> ctlfilename;
    printf("\n(") >> ctlfilename;


    # Loop over the columns
    firstcol = 1;
    for(i = 1; i <= num_cols; i++) {
    col_name = col_names[i];
    col_length = col_lengths[i];


    # Put a comma on the end of every line but the first
    if(firstcol == 1) {
    firstcol = 0;
    } else {
    printf(",") >> ctlfilename;
    }


    # Print the column definition
    printf("\n\t%s", col_name) >> ctlfilename;


    # If the column is empty use a filler field
    if(col_length == 0) {
    printf(" filler") >> ctlfilename;
    }
    }


    # Finish the control file
    printf("\n)\n") >> ctlfilename;
    }

    -----Original Message-----
    Sent: 15 May 2003 15:42
    To: Multiple recipients of list ORACLE-L

    Am I dreaming, hoping? Wasn't it possible to take a comma-dlt. text file
    and from the column list dynamically generate a table then load the data.
    Hmmmm. I could write that pretty easily but problem is wouldn't necessarily
    know datatypes and sizes. Okay - I guess I am dreaming.

    Data Warehouse builder versus data migration tool:

    -when would you use one or the other?
    -is the juice worth the squeeze or am I better off doing myself as I have
    last 6 years
    -extra purchase - which one?

    Thanks,
    Paula

    This message (including any attachments) is confidential and may be
    legally privileged. If you are not the intended recipient, you should
    not disclose, copy or use any part of it - please delete all copies
    immediately and notify the Hays Group Email Helpdesk at
    email.helpdesk_at_hays.com
    Any information, statements or opinions contained in this message
    (including any attachments) are given by the author. They are not
    given on behalf of Hays unless subsequently confirmed by an individual
    other than the author who is duly authorised to represent Hays.


    A member of the Hays plc group of companies.
    Hays plc is registered in England and Wales number 2150950.
    Registered Office Hays House Millmead Guildford Surrey GU2 4HJ.

    ------_=_NextPart_001_01C31B7A.B8FDD9B0
    Content-Type: text/html; charset="iso-8859-1"

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    RE: Guys - loading comma-delimited - dynamically generate table

    Paula
    &nbsp;
    I've just
    recently written a little awk script to do what I think you're after...&nbsp; I
    might get shot for using awk;)&nbsp;but at least I can guarantee that it will
    be installed on any unix box I come to.
    &nbsp;
    Regards
    David
    Lord
    &nbsp;
    #!/usr/bin/nawk

    -f#################################################################################

    NAME## loadcsv.awk - generate scripts to create a table and load a CSV
    file into it## SYNOPSIS## loadcsv.awk
    &lt;filename&gt;.csv## DESCRIPTION## Generates two output files:
    -## 1) A SQL script named &lt;filename&gt;.sql (where &lt;filename&gt;
    is the basename of the# input file) containing statements to create a table
    suitable for loading the# data into.&nbsp; The table is named
    &lt;filename&gt;.&nbsp; All columns are varchar2's large# enough to hold the
    maximum length of the column.&nbsp; The names of the columns# are taken from
    the first line of the CSV file, tidied up to remove leading# and trailing
    blanks and replace spaces with underscores. If any column in the# CSV file
    is empty, the column is not added to the table.## 2) A SQL*Loader
    control file named &lt;filename&gt;.ctl for loading the data into # the
    table.&nbsp; Fields which are empty are specified as FILLER fields.##
    OPTIONS## filename.csv - The name of a csv file.&nbsp; It must have the
    column
    names#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    as the first line.## EXAMPLE## First, run the script:
    -##&nbsp;&nbsp; % loadcsv.awk myfile.csv## Then, login to
    sqlplus and run the SQL script to create the table: -##&nbsp;&nbsp;
    SQL&gt; @myfile.sql## Finally, use sqlldr to load the data into the
    table: -##&nbsp;&nbsp; % sqlldr scott/tiger myfile.ctl data =
    myfile.csv## KNOWN ISSUES## This script does not check that the
    length of the columns is sensible.&nbsp; So,# if any cell contains more than
    4000 characters, the create table command will# fail.##
    AUTHOR## David Lord, April

    2003################################################################################
    &nbsp;
    BEGIN
    {&nbsp; # Field separator is a comma&nbsp; FS = ",";

    &nbsp;
    &nbsp; # Get
    the name of the input file and strip the .csv&nbsp; if(ARGC &gt; 1)
    {&nbsp;&nbsp;&nbsp; filename = ARGV[1];&nbsp;&nbsp;&nbsp; gsub(/\.csv/,
    "", filename);&nbsp; } else {&nbsp;&nbsp;&nbsp; filename =
    FILENAME;&nbsp; }
    &nbsp;
    &nbsp; # The
    name of the 'create table' file&nbsp; sqlfilename = filename
    ".sql";
    &nbsp;
    &nbsp; # The
    name of the sqlloader control file&nbsp; ctlfilename = filename
    ".ctl";}
    &nbsp;
    # The first
    line contains the column namesNR == 1 {&nbsp; num_cols = NF;&nbsp;
    for(i = 1; i &lt;= num_cols; i++) {&nbsp;&nbsp;&nbsp; # Tidy up the column
    name&nbsp;&nbsp;&nbsp; gsub(/ /, "_", $i);&nbsp;&nbsp;&nbsp; gsub(/_*$/,
    "", $i);&nbsp;&nbsp;&nbsp; gsub(/^_*/, "", $i);
    &nbsp;
    &nbsp;&nbsp;&nbsp; # Add to an array of column
    names&nbsp;&nbsp;&nbsp; col_names[i] = tolower($i);
    &nbsp;
    &nbsp;&nbsp;&nbsp; # Initialise the column length&nbsp;&nbsp;&nbsp;
    col_lengths[i] = 0;&nbsp; }}
    &nbsp;
    # Find the
    maximum length of each columnNR &gt; 1 {&nbsp; i = 1;&nbsp; j =
    1;&nbsp; while(i &lt;= NF) {&nbsp;&nbsp;&nbsp; col_length =
    0;&nbsp;&nbsp;&nbsp; if($i ~ /^ *\"/) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    gsub(/^ *\"/, "", $i);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(i &lt;= NF
    &amp;&amp; $i !~ /\" *$/) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    col_length += length($i) + 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    i++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    gsub(/\" *$/, "", $i);&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; col_length
    += length($i);&nbsp;&nbsp;&nbsp; if(col_length &gt; col_lengths[j])
    {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; col_lengths[j] =
    col_length;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;
    i++;&nbsp;&nbsp;&nbsp; j++;&nbsp; }}
    &nbsp;
    # Print the
    scriptsEND {&nbsp; # Begin the create table statement&nbsp;
    printf("create table " filename "(") &gt; sqlfilename;&nbsp; firstcol =
    1;
    &nbsp;
    &nbsp; #
    Loop over the columns&nbsp; for(i = 1; i &lt;= num_cols; i++)
    {&nbsp;&nbsp;&nbsp; col_name = col_names[i];&nbsp;&nbsp;&nbsp;
    col_length = col_lengths[i];
    &nbsp;
    &nbsp;&nbsp;&nbsp; # Ignore empty columns&nbsp;&nbsp;&nbsp;
    if(col_length &gt; 0) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Put a comma on the
    end of every line but the first&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(firstcol ==
    1) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; firstcol =
    0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else
    {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(",") &gt;&gt;
    sqlfilename;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
    &nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Print the column
    definition&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("\n\t%-30s %s", col_name,
    "varchar2(" col_length ")") &gt;&gt; sqlfilename;&nbsp;&nbsp;&nbsp;

    }&nbsp; }
    &nbsp;
    &nbsp; #

    Finish the create table statement&nbsp; printf("\n);\n") &gt;&gt;
    sqlfilename;
    &nbsp;
    &nbsp; #
    Begin the control file&nbsp; printf("options (skip=1)") &gt;
    ctlfilename;&nbsp; printf("\nload data") &gt;&gt; ctlfilename;&nbsp;
    printf("\nappend") &gt;&gt; ctlfilename;&nbsp; printf("\ninto table %s",
    filename) &gt;&gt; ctlfilename;&nbsp; printf("\nfields terminated by \",\"
    optionally enclosed by '\"'") &gt;&gt; ctlfilename;&nbsp; printf("\ntrailing
    nullcols") &gt;&gt; ctlfilename;&nbsp; printf("\n(") &gt;&gt;
    ctlfilename;
    &nbsp;
    &nbsp; #
    Loop over the columns&nbsp; firstcol = 1;&nbsp; for(i = 1; i &lt;=

    num_cols; i++) {&nbsp;&nbsp;&nbsp; col_name =
    col_names[i];&nbsp;&nbsp;&nbsp; col_length =
    col_lengths[i];&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # Put a comma on

    the end of every line but the first&nbsp;&nbsp;&nbsp; if(firstcol == 1)
    {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; firstcol = 0;&nbsp;&nbsp;&nbsp; } else
    {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(",") &gt;&gt;
    ctlfilename;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp; # Print the column definition&nbsp;&nbsp;&nbsp;
    printf("\n\t%s", col_name) &gt;&gt; ctlfilename;
    &nbsp;
    &nbsp;&nbsp;&nbsp; # If the column is empty use a filler
    field&nbsp;&nbsp;&nbsp; if(col_length == 0)
    {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(" filler") &gt;&gt;
    ctlfilename;&nbsp;&nbsp;&nbsp; }&nbsp; }
    &nbsp;
    &nbsp; #
    Finish the control file&nbsp; printf("\n)\n") &gt;&gt;
    ctlfilename;}
    -----Original Message-----From:
    Paula_Stankus_at_doh.state.fl.us
    Sent: 15 May 2003
    15:42To: Multiple recipients of list ORACLE-LSubject: RE:
    Guys - loading comma-delimited - dynamically generate table

    Am I dreaming, hoping?&nbsp; Wasn't it possible to take a
    comma-dlt. text file and from the column list dynamically generate a table
    then load the data.&nbsp; Hmmmm.&nbsp; I could write that pretty easily but
    problem is wouldn't necessarily know datatypes and sizes.&nbsp; Okay - I guess
    I am dreaming.&nbsp;
    Data Warehouse builder versus data migration tool:
    -when would you use one or the other? -is the juice worth the squeeze or am I better off doing myself as I
    have last 6 years -extra purchase - which one?

    Thanks, Paula

    **********************************************************************

    This message (including any attachments) is confidential and may be
    legally privileged. If you are not the intended recipient, you should
    not disclose, copy or use any part of it - please delete all copies
    immediately and notify the Hays Group Email Helpdesk at
    email.helpdesk_at_hays.com
    Any information, statements or opinions contained in this message
    (including any attachments) are given by the author. They are not
    given on behalf of Hays unless subsequently confirmed by an individual
    other than the author who is duly authorised to represent Hays.

    A member of the Hays plc group of companies.
    Hays plc is registered in England and Wales number 2150950.
    Registered Office Hays House Millmead Guildford Surrey GU2 4HJ.

    **********************************************************************

    ------_=_NextPart_001_01C31B7A.B8FDD9B0--

    --
    Please see the official ORACLE-L FAQ: http://www.orafaq.net
    --
    Author: Lord, David - CSG
    INET: david.lord_at_hays.com

    Fat City Network Services -- 858-538-5051 http://www.fatcity.com
    San Diego, California -- Mailing list and web hosting services
    ---------------------------------------------------------------------
    To REMOVE yourself from this mailing list, send an E-Mail message
    to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
    the message BODY, include a line containing: UNSUB ORACLE-L
    (or the name of mailing list you want to be removed from). You may
    also send the HELP command for other information (like subscribing).
  • Paula_Stankus_at_doh.state.fl.us at May 16, 2003 at 3:41 pm
    Thanks,


    I haven't given up on using awk either yet.


    Oracle OCP DBA

    -----Original Message-----
    Sent: Friday, May 16, 2003 3:14 AM
    To: ORACLE-L_at_fatcity.com; Paula_Stankus_at_doh.state.fl.us

    Paula


    I've just recently written a little awk script to do what I think you're
    after... I might get shot for using awk;) but at least I can guarantee
    that it will be installed on any unix box I come to.


    Regards
    David Lord


    #!/usr/bin/nawk -f
    ############################################################################
    ####
    # NAME

    #
    # loadcsv.awk - generate scripts to create a table and load a CSV file into
    it
    #
    # SYNOPSIS

    #
    # loadcsv.awk .csv
    #
    # DESCRIPTION

    #
    # Generates two output files: -
    #
    # 1) A SQL script named .sql (where is the basename of
    the
    # input file) containing statements to create a table suitable for loading
    the
    # data into. The table is named . All columns are varchar2's
    large
    # enough to hold the maximum length of the column. The names of the columns
    # are taken from the first line of the CSV file, tidied up to remove leading
    # and trailing blanks and replace spaces with underscores. If any column in
    the
    # CSV file is empty, the column is not added to the table.
    #
    # 2) A SQL*Loader control file named .ctl for loading the data
    into
    # the table. Fields which are empty are specified as FILLER fields.
    #
    # OPTIONS

    #
    # filename.csv - The name of a csv file. It must have the column names
    # as the first line.
    #
    # EXAMPLE

    #
    # First, run the script: -
    #
    # % loadcsv.awk myfile.csv
    #
    # Then, login to sqlplus and run the SQL script to create the table: -
    #
    # SQL> @myfile.sql
    #
    # Finally, use sqlldr to load the data into the table: -
    #
    # % sqlldr scott/tiger myfile.ctl data = myfile.csv
    #
    # KNOWN ISSUES

    #
    # This script does not check that the length of the columns is sensible.
    So,
    # if any cell contains more than 4000 characters, the create table command
    will
    # fail.
    #
    # AUTHOR

    #
    # David Lord, April 2003
    ############################################################################
    ####


    BEGIN {

    # Field separator is a comma
    FS = ",";


    # Get the name of the input file and strip the .csv
    if(ARGC > 1) {
    filename = ARGV[1];
    gsub(/\.csv/, "", filename);
    } else {
    filename = FILENAME;
    }


    # The name of the 'create table' file
    sqlfilename = filename ".sql";


    # The name of the sqlloader control file
    ctlfilename = filename ".ctl";
    }


    # The first line contains the column names
    NR == 1 {
    num_cols = NF;
    for(i = 1; i <= num_cols; i++) {
    # Tidy up the column name

    gsub(/ /, "_", $i);
    gsub(/_*$/, "", $i);
    gsub(/^_*/, "", $i);

    # Add to an array of column names
    col_names[i] = tolower($i);


    # Initialise the column length
    col_lengths[i] = 0;
    }
    }


    # Find the maximum length of each column
    NR > 1 {
    i = 1;
    j = 1;
    while(i <= NF) {
    col_length = 0;
    if($i ~ /^ *\"/) {

    gsub(/^ *\"/, "", $i);
    while(i <= NF && $i !~ /\" *$/) {
    col_length += length($i) + 1;
    i++;
    }
    gsub(/\" *$/, "", $i);

    }
    col_length += length($i);
    if(col_length > col_lengths[j]) {
    col_lengths[j] = col_length;
    }
    i++;
    j++;
    }
    }


    # Print the scripts
    END {

    # Begin the create table statement
    printf("create table " filename "(") > sqlfilename;
    firstcol = 1;


    # Loop over the columns
    for(i = 1; i <= num_cols; i++) {
    col_name = col_names[i];
    col_length = col_lengths[i];


    # Ignore empty columns
    if(col_length > 0) {

    # Put a comma on the end of every line but the first
    if(firstcol == 1) {
    firstcol = 0;
    } else {
    printf(",") >> sqlfilename;
    }

    # Print the column definition
    printf("\n\t%-30s %s", col_name, "varchar2(" col_length ")") >>

    sqlfilename;

    }
    }


    # Finish the create table statement
    printf("\n);\n") >> sqlfilename;


    # Begin the control file

    printf("options (skip=1)") > ctlfilename;
    printf("\nload data") >> ctlfilename;
    printf("\nappend") >> ctlfilename;
    printf("\ninto table %s", filename) >> ctlfilename;
    printf("\nfields terminated by \",\" optionally enclosed by '\"'") >>

    ctlfilename;
    printf("\ntrailing nullcols") >> ctlfilename;
    printf("\n(") >> ctlfilename;


    # Loop over the columns
    firstcol = 1;
    for(i = 1; i <= num_cols; i++) {
    col_name = col_names[i];
    col_length = col_lengths[i];


    # Put a comma on the end of every line but the first
    if(firstcol == 1) {
    firstcol = 0;
    } else {
    printf(",") >> ctlfilename;
    }


    # Print the column definition
    printf("\n\t%s", col_name) >> ctlfilename;


    # If the column is empty use a filler field
    if(col_length == 0) {
    printf(" filler") >> ctlfilename;
    }
    }


    # Finish the control file
    printf("\n)\n") >> ctlfilename;
    }

    -----Original Message-----
    Sent: 15 May 2003 15:42
    To: Multiple recipients of list ORACLE-L

    Am I dreaming, hoping? Wasn't it possible to take a comma-dlt. text file
    and from the column list dynamically generate a table then load the data.
    Hmmmm. I could write that pretty easily but problem is wouldn't necessarily
    know datatypes and sizes. Okay - I guess I am dreaming.

    Data Warehouse builder versus data migration tool:

    -when would you use one or the other?
    -is the juice worth the squeeze or am I better off doing myself as I have
    last 6 years
    -extra purchase - which one?

    Thanks,
    Paula

    This message (including any attachments) is confidential and may be
    legally privileged. If you are not the intended recipient, you should
    not disclose, copy or use any part of it - please delete all copies
    immediately and notify the Hays Group Email Helpdesk at
    email.helpdesk_at_hays.com
    Any information, statements or opinions contained in this message
    (including any attachments) are given by the author. They are not
    given on behalf of Hays unless subsequently confirmed by an individual
    other than the author who is duly authorised to represent Hays.

    A member of the Hays plc group of companies.
    Hays plc is registered in England and Wales number 2150950.
    Registered Office Hays House Millmead Guildford Surrey GU2 4HJ.

    --
    Please see the official ORACLE-L FAQ: http://www.orafaq.net
    --
    Author:
    INET: Paula_Stankus_at_doh.state.fl.us

    Fat City Network Services -- 858-538-5051 http://www.fatcity.com
    San Diego, California -- Mailing list and web hosting services
    ---------------------------------------------------------------------
    To REMOVE yourself from this mailing list, send an E-Mail message
    to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
    the message BODY, include a line containing: UNSUB ORACLE-L
    (or the name of mailing list you want to be removed from). You may
    also send the HELP command for other information (like subscribing).

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouporacle-l @
categoriesoracle
postedMay 15, '03 at 2:42p
activeMay 16, '03 at 3:41p
posts3
users2
websiteoracle.com

People

Translate

site design / logo © 2022 Grokbase