DB2-Admin
view release on metacpan or search on metacpan
#print STDERR Dumper($rc2);
#
# Test array of IXF files without LOBs
#
my @infile_list = ($in_file);
foreach my $postfix (qw(2 3 4)) {
my $clone_file = $in_file . $postfix;
if ($^O =~ /^MSWin/) {
system("copy", $in_file, $clone_file);
} else {
system("cp", $in_file, $clone_file);
}
push @infile_list, $clone_file;
}
$load_params{InputFile} = \@infile_list;
$load_params{FileLocation} = 'Client';
$load_params{LogFile} = File::Spec->catfile($export_dir, "load-test-multiple.log");
($results, $rc2) = DB2::Admin->Load(%load_params);
ok(defined $results, "Load succeeded - multiple DEL files w/o LOBs");
#print STDERR Dumper($results);
#print STDERR Dumper($rc2);
#
# Test with exception table
$results = DB2::Admin->Load(%load_params,
'Operation' => 'Insert',
'ExceptionSchema' => $schema_name,
'ExceptionTable' => $ex_table_name,
);
#print STDERR Dumper($results);
ok(defined $results, "Load with exception table succeeded");
#
# Test DEL file with LOBs
#
$in_file = File::Spec->catfile($export_dir, "export-test-lob.del");
$log_file = File::Spec->catfile($export_dir, "load-test-lob.log");
%load_params =
('Database' => $db_name,
'Schema' => $schema_name,
'Table' => $lob_table_name,
'InputFile' => $in_file,
'LogFile' => $log_file,
'FileOptions' => { 'LobsInFile' => 1, },
'SourceType' => 'DEL',
'Operation' => 'Replace',
#'CopyDirectory' => $myconfig{LOAD_COPY_DIRECTORY},
'LobPath' => $myconfig{LOB_DIRECTORY},
'LoadOptions' => { #'SaveCount' => 10,
'NonRecoverable' => 1,
#'RowCount' => 20,
},
);
#print Dumper(\%load_params);
$results = DB2::Admin->Load(%load_params);
ok(defined $results, "Load succeeded - DEL file w LOBs");
#print STDERR Dumper($results);
#
# Test a load from a SQL statement (load from cursor)
#
$results = DB2::Admin->
Load('Database' => $db_name,
'Schema' => $schema_name,
'Table' => $table_name,
'SourceType' => 'Statement',
'LoadOptions' => { 'NonRecoverable' => 1, },
'Operation' => 'Replace',
'InputStatement' => "select * from $schema_name.$myconfig{SOURCE_TABLE}",
);
ok(defined $results, "Load succeeded - SQL statement");
#print Dumper($results);
skip("Load XML not available in DB2 version < 9.5", 12) if ($version < 9.5);
$table_name = $myconfig{TARGET_XML_TABLE};
foreach my $save (0, 1) {
foreach my $sep (0, 1) {
foreach my $xml_parse (undef, 'Strip', 'Preserve') {
$in_file = File::Spec->catfile($export_dir, "export-test-xml-$save-$sep.ixf");
$log_file = File::Spec->catfile($export_dir, "import-test-xml-$save-$sep.log");
my $load_options = { 'NonRecoverable' => 1, };
if (defined $xml_parse) {
$load_options->{XmlParse} = $xml_parse;
}
$results = DB2::Admin->
Load('Database' => $db_name,
'Schema' => $schema_name,
'Table' => $table_name,
'InputFile' => $in_file,
'LogFile' => $log_file,
'SourceType' => 'IXF',
'Operation' => 'Replace',
'LoadOptions' => $load_options,
'XmlPath' => $myconfig{XML_DIRECTORY},
);
my $parse = $xml_parse || '<undef>';
ok(defined $results, "Load succeeded - IXF with XML (save=$save, sep=$sep, parse=$parse)");
#print STDERR Dumper($results);
} # End foreach: XmlParse option
} # End foreach: sep
} # End foreach: save
$rc = DB2::Admin->Disconnect('Database' => $db_name);
ok($rc, "Disconnect - $db_name");
} # End SKIP
( run in 1.380 second using v1.01-cache-2.11-cpan-39bf76dae61 )