#!perl
use strict;
use warnings;
# configuration
my $sqlplus = 'sqlplus';#'D:/oracle/product/11.2.0/client_1/BIN/sqlplu
+s.exe';
my $dir = 'C:/Users/namburuk/Desktop/CostSettlement_DBScripts/';
my $sqlfile = 'MI_SCR_0001_FS_sample.sql';
my $logon = 'user/password@ServiceName';
#open IN,'<',$dir.$sqlfile or die "$!";
my $sql = join '',<DATA> ; # use IN
#close IN;
# add exit to sql to return from command line
open OUT,'>','~temp.sql' or die "$!";
print OUT $sql."\nexit;\n";
close OUT;
# run sqlplus.exe in silent mode
system($sqlplus,'-S',$logon,'@~temp.sql') == 0
or die "Couldn't launch $sqlplus: $!";
__DATA__
SELECT CURRENT_TIMESTAMP FROM DUAL;
CREATE TABLE TRN_SAAA
(
TRN_ST NUMBER (30) NOT NULL,
TRN_SE NUMBER (30) NOT NULL,
CHKD VARCHAR2 (1) DEFAULT 'N' NOT NULL
);
INSERT INTO TRN_SAAA VALUES (1,1,'A');
INSERT INTO TRN_SAAA VALUES (2,1,'B');
INSERT INTO TRN_SAAA VALUES (3,1,'C');
SELECT * FROM TRN_SAAA;
poj |