Slt, comment on peut manipuler les donnees
d'une base oracle 8.0 en lecture et en ecriture
à l'aide de Perl
svp,vous pouvez m'envoiyer un exemple exécutable et merci d'avance
je suis débutant en Perl
Slt, comment on peut manipuler les donnees
d'une base oracle 8.0 en lecture et en ecriture
à l'aide de Perl
svp,vous pouvez m'envoiyer un exemple exécutable et merci d'avance
je suis débutant en Perl
Bonjour,
il te faut utiliser le module DBI.pm, lequel figure déjà dans ta distribution Perl normalement.
Petite doc : http://search.cpan.org/~timb/DBI/DBI.pm
le probleme que j'applique ces intructions et il m'affiche l'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 install_driver(Oracle) failed: Can't locate DBD/Oracle.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3. Perhaps the DBD::Oracle perl module hasn't been fully installed, or perhaps the capitalisation of 'Oracle' isn't right. Available drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge. at 5.txt line 3![]()
ok, alors dans une fenêtre MS-DOS, tape ceci au prompt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ppm install DBD::Oracle
il m'affiche l'ecran suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 C:\Documents and Settings\Administrateur>ppm install DB::Oracle Downloading ActiveState Package Repository packlist...done Updating ActiveState Package Repository database...done ppm install failed: Can't find any package that provide DB::Oracle C:\Documents and Settings\Administrateur>![]()
Heu, relis mon message, je n'ai jamais parlé de DB::Oracle, mais plutôt DBD::Oracle...
je suis desolee ,ca va la cmd "
mais j'ai un pb avec le code suivant
comment on choisit le nom de la BDD ,je construire ma base comme suivant
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 use strict; use DBI; my $Bdd = "DBI:Oracle::ORCL"; # nom de ta BDD my $User = "utilsateur"; # nom du user A CHANGER ! my $Pass = "motpasse"; # passwd user A CHANGER my $dbh; # handle sur la base if ($dbh = DBI->connect($Bdd, $User, $Pass)) { print "Connexion reussie !!!\n"; } else { print "ERREUR : $DBI::errstr\n"; }
et perl m'envoyer l'erreur suivant
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
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 /* creation de table */ CREATE TABLE place_disp ( code_vol varchar2(6), ville_depart varchar2(20), ville_arrivee varchar2(20), heure_depart varchar2(6), heure_arrive varchar2(6), date_depart date, classe varchar2(10), nb_place_dispo NUMBER, prix NUMBER, CONSTRAINT pk1 PRIMARY KEY (code_vol)); CREATE TABLE reserv ( code_fact NUMBER, nom_client varchar2(20), code_vol varchar2(6), ville_depart varchar2(20), heure_depart varchar2(6), ville_arrivee varchar2(20), heure_arrive varchar2(6), date_depart date, classe varchar2(10), prix NUMBER, accompte NUMBER, CONSTRAINT pk2 PRIMARY KEY (code_fact)); commit; /* insersion des données */ insert into place_disp values('AI132','PARIS','NICE','10H00','11H20','22-06-95','ECO',8,400); insert into place_disp values('AF330','LILLE','TOULOUSE','22H30','23H50','23-07-95','CLUB',16,1030); insert into place_disp values('BA120','PARIS','LONDRES','15H40','17H00','21-08-95','PREM',8,2500); insert into place_disp values('AF562','NICE','PARIS','21H00','22H20','21-07-95','ECO',44,400); insert into place_disp values('AF457','NICE','PARIS','22H00','23H20','21-07-95','ECO',20,400); insert into place_disp values('IB120','LISBONNE','LILLE','12H00','14H30','10-08-95','CLUB',23,3000); insert into place_disp values('KL498','AMSTERDAM','NICE','17H00','19H30','17-09-95','ECO',60,1500);
"voir l'image jointée svp"
il m'affiche l'erruer suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DBI connect(':ORCL','IA3B2',...) failed: ORA-12154: TNS : l'identificateur de co nnexion indiquÚ n'a pas pu Ûtre rÚsolu (DBD ERROR: OCIServerAttach) at d:\4.txt line 8 ERREUR : ORA-12154: TNS : l'identificateur de connexion indiquÚ n'a pas pu Ûtre rÚsolu (DBD ERROR: OCIServerAttach)
Modifie ces lignes là dans ton script pour voir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 use strict; use DBI; use DBD::Oracle; my $Bdd = "DBD::Oracle::ORCL"; # nom de ta BDD
ca ne marche pas aussi ,le pb est le meme
cette cmd produite le meme erreur
je ne sais pas pour quoi
Code : Sélectionner tout - Visualiser dans une fenêtre à part $dbh = DBI->connect($Bdd, $User, $Pass)
Est ce que on ecrit "DBD::Oracle::ORCL" comme ça ou il faut que je le modifier?
je le copier et la meme chose se produit
Ben non, là j'en sais pas plus, désolé
c'est domage , merci pour votre aide mon ami![]()
a la creation de ma base de donnee sur l'oracle:j'utilise le code suivant
donc j'ai le nom d'utilisateur est "IA3B2" et le mot de passe est "RAMA"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 create user IA3B2 identified by RAMA; grant dba to IA3B2;
mais dans le code suivant
comment je peut determiner le nom de la base oracle "......."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #!/usr/bin/perl use DBI; use DBD::Oracle; use strict; system("pause"); my $dbname = '......'; my $user = 'IA3B2'; my $passwd = 'RAMA'; my $dbh = DBI->connect("dbi:Oracle:$dbname", $user, $passwd)|| die "Database connection not made: $DBI::errstr"; $dbh -> disconnect;
et merci pour ton aide![]()
Pour le code ,ca marche mais je l'essayer dans un autre PC de mon ami qui utilise LINUX comme un system d'exploitation mais pour mon pc (windows XP) je ne sais pas où est l'erreur, en tous cas je vous remerci pour votre aide et j'attend votre proposition pour le Xp![]()
pour le code suivant
le Perl retourne l'erreur suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #!/usr/bin/perl use DBI; use DBD::Oracle; use strict; my $dbname = 'ORCL'; my $user = 'IA3B2'; my $passwd = 'RAMA'; printf(" Test connexion"); my $dbh = DBI->connect("dbi:Oracle:$dbname", $user, $passwd)|| die "base connection not"; printf("reussite"); $dbh -> disconnect;
"voir l'image jointée"
comment tu connaitre le nom de ta base
parceque je ne sais pas comment le faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part my $db = 'DBI:oracle:mabase:@ipBDD';
merci d'avance mon ami
car il m'affiche l'erreur suivant
l'erreur se produit lors de la commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part Can't connect to data source 'dbd:Oracle:ORCL' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at 4.txt line 10
Code : Sélectionner tout - Visualiser dans une fenêtre à part my $dbh = DBI->connect("dbi:Oracle:$dbname", $user, $passwd)|| die "base connection not";
Partager