#!C:\perl\bin\wperl.exe -w
use strict;
use warnings;
use Win32::Process;
use Tk;
my $mw = MainWindow->new;
$mw->Label(-text => 'Oracle DB:')->pack;
my $db = $mw->Entry(
-width => 20,
)->pack;
$db->bind('Tk::Entry', '', \&connect);
$db->bind('Tk::Entry', '', sub { exit });
$db->focus;
my $message = $mw->Message(-justify => 'center', -text => '')->pack;
MainLoop;
sub connect {
my $dbname = $db->get;
my ($server) = `tnsping $dbname` =~ /HOST=([^)]*)/;
if (defined $server) {
my $ProcessObj;
Win32::Process::Create($ProcessObj,
"c:\\winnt\\system32\\mstsc.exe",
"mstsc /v:$server",
0,
NORMAL_PRIORITY_CLASS,
".")|| die ErrorReport();
exit;
} else {
$message->configure(-text => "The database \"$dbname\" can't be found");
}
}
sub ErrorReport {
print Win32::FormatMessage( Win32::GetLastError() );
}
perlmonks.org content © perlmonks.org and dba, Paladin
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03