#!/bin/env perl -w
# -*- mode: cperl -*-
# $Id: 01-createTable.t,v 1.9 2005-07-28 03:09:35 ezra Exp $
BEGIN {
unless(grep /blib/, @INC) {
chdir 't' if -d 't';
unshift @INC, '../lib' if -d '../lib';
}
}
use Oracle::SQLLoader;
use strict;
use Test;
use Cwd;
BEGIN {
plan tests => 3
}
my $testTableName = "SQLLOADER_TEST_TABLE";
my $ddlFile = getcwd() . "/$testTableName.sql";
my $sqlplus = $^O =~/win32/i ? 'sqlplus.exe' : 'sqlplus';
ok(($sqlplus = Oracle::SQLLoader->findProgram($sqlplus)));
ok(generateSQL());
ok(createTable());
cleanup();
sub generateSQL {
open (DDL, ">$ddlFile") || return 0;
print "generateSQL to file $ddlFile\n";
print DDL "
drop table $testTableName;\n
create table $testTableName (
char_col char(10),
varchar_col varchar2(10),
int_col number(10),
float_col number(15,5),
largetext_col varchar2(4000),
date_col date
);\n exit;\n";
close DDL;
return 1;
}
sub createTable {
return 0 unless exists $ENV{'ORACLE_USERID'};
return 0 unless exists $ENV{'ORACLE_SID'};
my $userId = $ENV{'ORACLE_USERID'}. '@' .$ENV{'ORACLE_SID'};
my $exe = "$sqlplus $userId \@$testTableName.sql";
print "Creating table with command \"$exe\"\n";
my $resLog = `$exe`;
return 1 if $resLog =~ /Table created\./;
return 0;
}
sub cleanup {
unlink $ddlFile;
}