Accéder au contenu.
Menu Sympa

fr - [sympa-fr] Problème conexion Oracle avec Sympa 5.1.2

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Herve Brunet <adresse@cachée>
  • To: adresse@cachée
  • Subject: [sympa-fr] Problème conexion Oracle avec Sympa 5.1.2
  • Date: Tue, 27 Dec 2005 11:47:08 +0100

Bonjour,

Je rencontre un problème pour extraire la liste des abonnés à partir d'une Base Oracle. (sympa 5.1.2 et Debian sarge)

Impossible d'établir la connexion SQL avec la base de donnée et aucun message d'erreur dans Sympa même en mettant taskmanager et sympa en mode Debug.

J'ai résolu mon problème en modifiant le fichier List.pm

J'ai remplacé les lignes 7388 à 7391 :

7388 }elsif ($db_type eq 'Oracle') {
7389 $connect_string = "DBI:Oracle:";
7390 if ($host && $db_name) {
7391 $connect_string .= "host=$host;sid=$db_name";

par :

**7388 }elsif ($db_type eq 'Oracle') {
**7389 $connect_string = "DBI:Oracle:";
**7390 if ($host && $db_name) {
** 7391 $connect_string.="$db_name";

Exemple de fichier config d'une liste :

include_sql_query
passwd xxxxxx
db_name quartz
db_type Oracle
user publique
sql_query SELECT DISTINCT email FROM ecole.all_alias WHERE service_affect = 'CRI'
db_env ORACLE_HOME=/usr/local/oracle;NLS_LANG=french_france.we8iso8859p1
host manchot.ens-lyon.fr


Mon expertise qui n'engage que moi....

A prioi en faisant un DBI connect pour une base Oracle 2 possibilités:
soit :
$connect_string ="DBI:Oracle:host=$host;sid=$db_name;port=$port";

Et la il faut préciser le numéro de port de connexion sinon le DBI connect tente de contacter la base Oracle distante sur un port par défaut (Listner 1526) . Il me semble qu'il ne peut pas récupérer les infos de connexion dans le fichier tnsname.ora en local sur le serveur Sympa.


soit :

$connect_string = "DBI:Oracle:$db_name"
Dan ce cas le DBI connect va récupérer l'ensemble des info de connexion dans le fichier tnsname.ora en local sur le serveur Sympa.


Le problème peut se reproduire dans le cas ou on utilise une Base Oracle à la place de Mysql pour la sauvagerde des infos des abonnés du serveur sympa ; dans le fichier List.pm on trouve:

1216 if ($Conf{'db_type'} eq 'Oracle') {
1217 ## Oracle uses sids instead of dbnames
1218 $connect_string = sprintf 'DBI:%s:sid=%s;host=%s', $Conf{'db_type'}, $Conf{'db_name'}, $Conf{'db_host'};
1219

Mon analyse est-elle correcte ou bien cela provient d'une mauvaise config de mon serveur Sympa ?


Cordialement et bonnes fêtes à l'ensemble de la communauté Sympa.

-


Hervé Brunet
Centre de Ressources Informatiques
École Normale Supérieure


  • [sympa-fr] Problème conexion Oracle avec Sympa 5.1.2, Herve Brunet, 27/12/2005

Archives gérées par MHonArc 2.6.19+.

Haut de le page