Friday, June 24, 2016

Copying Tables from Oracle to Netezza using Alteryx

Follow below steps to be able to create table along with its data from Oracle to Netezza.

Suppose we have employees table at Oracle database


Connect to Alteryx, use "Input Data" tool to read the employee table of Oracle
Fill the username, password, tns info to connect to your Oracle DB.

Test the connection, SQL.



Use "Output Data" tool in Alteryx and to connect to Netezza to create the table




Workflow looks as follows
output of workflow

@Netezza Side






Netezza Stored Procedure Sample

Below is the Sample code of Netezza

Create sample Table 

create table temp1 (col1 int);


create or replace procedure test_proc()
   returns character varying(any)
   language nzplsql as
begin_proc
begin
   insert into temp1 values (1);
   raise notice 'rows impacted-, %', row_count; -- To print messages to console
exception
   when others then
   raise exception 'Exception while running test_proc. Error Message is %', sqlerrm; -- To print error messages to console
end;
end_proc;



Testing


EXECUTE TEST_PROC();





Thursday, June 23, 2016

Comparing Table Data Between Oracle, Netezza (Two different Source Systems) using Alteryx

Suppose , we have a employee table exists at Oracle database as well as Netezza database.

Now, we wanted to compare the table data at these two sources.
We wanted to see,

  1. What are the records exists only @Oracle
  2. What are the records exists only @Netezza
  3. What are all the records exists in both Oracle, Netezza

Create a Alteryx workflow as follows

Use "Input Data" tool to read the data from employee table @Oracle
Use another "Input Data" tool to read the data from employee table @Netezza

Use "Joiner" tool to join the two sources

Use "Browse" tool to see the results





Export Table Data From Database into Multiple Excel Files Using Alteryx

For this exercise  you need Oracle or any other database and Alteryx tool.

Get Alteryx from here -> http://www.alteryx.com/

Design the workflow as follows

In the 1st step, we are going to use "Input Data" tool to connect to Database and to read the data from table.

Create sample employee table using following sql

create table employees as 
    select level empno,
           'name' || level ename,
           case
              when level <= 10 then 10
              when level between 11 and 20 then 20
              when level between 21 and 30 then 30
              when level between 31 and 40 then 40
              when level between 41 and 50 then 50
           end
              deprt_id
      from dual
connect by level <= 50



In Step-2, use Alteryx "Formula" tool to name the files dynamically

In Step-3, use "Output Data" to write the files.








Saturday, June 18, 2016

Excel File Data Load Into Netezza Table

Follow below steps to loa excel file into new table. These steps will create new table into Netezza table by loading data in the given excel file.


Sample File Data









PostGre SQL Installation steps Windows

Download software from below URL




Follow the below steps to install Postgre







After the installation, you see the folders as follows


Connecting to the postgre database






Thursday, June 16, 2016

Export Oracle table into Excel Using SQLPlus Spool command

The following code exports data from dba_tables table into .CSV file

After the table export into .CSV file, if we open the file with Excel we can see each table column data into separate columns in excel.

set term off
set echo off
set underline off
set colsep ,
set linesize 100
set pagesize 0
set lines 1000 pages 1000
set trimspool on
set feedback off
set heading on
set newpage 0
set headsep off

spool h:\tmp\table_export_into_file.csv
-- Exporing the table dba_tables into csv file
select owner, table_name, tablespace_name
from dba_tables
where rownum <=10;

spool off

Output looks like as follows

Tuesday, June 14, 2016

Netezza JDBC Program

Netezza JDBC Program

Steps to connect to Netezza Database using Java (JDBC) program

Download the Netezza driver nzjdbc.jar

Connect to Eclipse and upload the nzjdbc.jar using "Build Path" as shown in below images




Java Class to connect to Netezza Database and read table data

---------------------------------------------------
package sample;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcNetezzaConnection {

    public static void main(String[] args) {

        Connection conn1 = null;
        Statement statement = null;

        try {
            Class.forName("org.netezza.Driver");
            conn1 = DriverManager.getConnection("jdbc:netezza://servername/databasename", "username","password");
            if (conn1 != null) {
                System.out.println("Connected with connection #1");
            }
         // Create the statement to be used to get the results.
            statement = conn1.createStatement();
            // Create a query to use.
            String query = "select tablename, owner from _v_table where owner = 'ADMIN' limit 10";
            ResultSet resultSet = statement.executeQuery(query);

            System.out.println("Printing result...");
            while (resultSet.next()) {
             String tn = resultSet.getString("tablename");
             String opg = resultSet.getString("owner");
             System.out.println("\tablename: " + tn + ",  owner: " + opg );
         }

        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            try {
                if (conn1 != null && !conn1.isClosed()) {
                    conn1.close();
                }
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }
}

----------------------------------------------------

Output of the above class


Output from Netezza Database


Redshift JDBC Program

Redshift JDBC Program

Steps to connect Redshift database using Java JDBC program

Download the driver from
The class name for this driver is com.amazon.redshift.jdbc41.Driver.

Connect to Eclipse, upload the Redshift JDBC driver using "Build Path" -> Add External Archieves  as shown like in below images




The following is the Java class to read data from Redshift table

-----------------------------------------------------------
package sample;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcRedshiftConnection {

    public static void main(String[] args) {

        Connection conn1 = null;
        Statement statement = null;

        try {
            Class.forName("com.amazon.redshift.jdbc41.Driver");
            conn1 = DriverManager.getConnection("jdbc:redshift://servername:port/databasename", "username","password");
            if (conn1 != null) {
                System.out.println("Connected with connection #1");
            }
         // Create the statement to be used to get the results.
            statement = conn1.createStatement();
            // Create a query to use.
            String query = "select schemaname,  tablename from  pg_table_def  limit 10";
            ResultSet resultSet = statement.executeQuery(query);

            System.out.println("Printing result...");
            while (resultSet.next()) {
             String tn = resultSet.getString("schemaname");
             String opg = resultSet.getString("tablename");
             System.out.println("\t schemaname: " + tn + ",  tablename: " + opg );
         }

        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            try {
                if (conn1 != null && !conn1.isClosed()) {
                    conn1.close();
                }
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }
}
------------------------------------------------------------
Sample output from the above Java Class


Sample output from Redshift Database