Bonjour,
J'ai fais ce script qui se connecte à une base oracle et va chercher des info dont j'ai besoin pour continuer mon script.
En fait j'ai une adresse ip et je veus aller chercher le n° associé.

Voilà le script

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
use DBI;
my $database_username = "bob";
my $database_password = "bob";
my $dbh = DBI->connect('DBI:Oracle:',$database_username,$database_password, { PrintError => 1, AutoCommit => 1});
 
.............
 
my $sql= "select C_COMMON_TOPOLOGY_VW.CTOP_OBJ_INSTANCE
	from C_COMMON_TOPOLOGY_VW 
	where C_COMMON_TOPOLOGY_VW.CTOP_OBJ_CLASS=812 
	and C_COMMON_TOPOLOGY_VW.CTOP_IP_ADDRESS=$bts_ip";
 
	my $sth = $dbh->prepare($sql);
	$sth->execute || die "pbm execute \n";
	my $bts_id = $sth->fetchrow_array();# ||die "pbm fetchow array\n";

le problème est que quand il lance le code j'obtien l'erreur suivante:

-> DBD::Oracle::db prepare failed: ORA-00933: SQL command not properly ended (DBD ERROR: OCIStmtExecute/Describe) at ./traitementaxcftm.pl line 374, <F> line 3.
Can't call method "execute" on an undefined value at ./traitementaxcftm.pl line 375, <F> line 3.

Est ce que quelqu'un a une idée?
Mes tables sont juste.