sub load_data
{
if(-f "Sms_UserTable.txt")
{
print "\n拼接文件\n";
open(CTL,">Sms_UserTable.ctl") || die "";
print CTL "load data\n";
print CTL "infile 'Sms_UserTable.txt'\n";
print CTL "Append\n";
print CTL "into table Sms_UserTable\n";
print CTL "fields terminated by \",\"\n";
print CTL "\(MSISDN, sServices\)\n";
close(CTL);
#判断文件是否存在
if(-f "Sms_UserTable.ctl")
{
#执行sqlldr:
print "\n请输入数据库用户名:\n";
my $user=<STDIN>;
chomp($user);
if($user eq "" || $user eq "\n")
{
print "\n输入数据库用户名非法,退出!\n\n";
exit;
}
print "\n请输入数据库用户名对应密码:\n";
my $pass=<STDIN>;
chomp($pass);
if($pass eq "" || $pass eq "\n")
{
print "\n输入数据库用户名对应口令非法,退出!\n\n";
exit;
}
print "\n请输入数据库别名:\n";
my $sid=<STDIN>;
chomp($sid);
if($sid eq "" || $sid eq "\n")
{
print "\n输入数据库用户别名非法,退出!\n\n";
exit;
}
print "\n开始导入数据\n";
#sqlldr
user/pwd@sid control="insert.ctl"
system("sqlldr $user\/$pass\@$sid control=\"Sms_UserTable.ctl\" readsize=9999999 rows=100000 bindsize=9999999 direct=y");
}
else
{
print "\n拼接控制文件不存在,退出!\n\n";
exit;
}
}
else
{
print "\n[Sms_UserTable.txt]文件不存在,退出!\n\n";
exit;
}
}