1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
use DBI;
my $Host = 'MonServeur,1433';
my $DataBase = 'MABASE_DD';
my $UserSql = 'sa';
my $Password = 'girafe789';
my $Instruction_Sql;
my $ListeBases1;
my @TableauBase;
my $DNS;
sub Execution_Requete_SQL ()
{
$DNS = "Provider=sqloledb;Trusted Connection=yes;";
$DNS .= "Server=$Host;DataBase=$DataBase";
my $ConnectionSql = DBI->connect("dbi:ADO:$DNS",
$UserSql,
$Password,
{ RaiseError => 1, AutoCommit => 1}
) || die "DataBase connection not made: $DBI::errstr";
#Preparation de l'instruction sql
#----------------------------------
my $CmdSql = "${Instruction_Sql}";
my $ListeBases = $ConnectionSql->prepare( $CmdSql );
#Execute l'instruction
#------------------------
$ListeBases->execute();
# Lie le resultat aux variables locales
#-----------------------------------------
my ( $UneBase );
$ListeBases->bind_columns( undef, \$UneBase );
#Récupére la valeur du jeu de résultat
#--------------------------------------
while( $ListeBases->fetch() )
{
@TableauBase=(@TableauBase,$UneBase) ;
}
#Fermeture de la connection
#-------------------------------
$ListeBases->finish();
$ConnectionSql->disconnect();
}
$Instruction_Sql="select name from sys.DataBases where name <> 'tempdb'";
Execution_Requete_SQL ;
print "@TableauBase\n";
print "=====\n";
my $One;
foreach $One (@TableauBase)
{
chomp ($One);
print ">$One\n";
} |
Partager