Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] connexion base oracle 12

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

Archives de la liste

Chronologique Discussions  
  • From: Simeau-Adenis Annie <adresse@cachée>
  • To: adresse@cachée, Olivier Le Monnier <adresse@cachée>
  • Subject: Re: [sympa-fr] connexion base oracle 12
  • Date: Fri, 12 Apr 2019 14:47:43 +0200

Bonjour,

Je m'en suis sortie en modifiant le fichier /home/sympa/bin/Sympa/DatabaseDriver/Oracle.pm  : Modification de  "$connect_string" dans le sous-programme build_connect_string  
Il faut évidement que toutes les bases soient en oracle 12 ...

En Gras ce que l'ai mis en commentaire

En Bleu ce que j'ai ajouté/modifié

En italique une trace dans les log pour debug

 

sub build_connect_string {

    my $self = shift;

 

    my $connect_string = "DBI:Oracle:";

    if ($self->{'db_host'} and $self->{'db_name'}) {

      ## 2019 02 15 : Passage de Oracle 11 à Oracle 12c

         ## ori : Oracle 11 et antérieur

         ## $connect_string .= "host=$self->{'db_host'};sid=$self->{'db_name'}";

 

         ## OK : Oracle 12c et plus

         $connect_string .= "sid=$self->{'db_host'}:$self->{'db_port'}/$self->{'db_name'}";

    }

 

    ## 2019 02 15 : Mis en commentaire pour Oracle 12c et plus

    ## $connect_string .= ';port=' . $self->{'db_port'}

        ## if defined $self->{'db_port'};

    $connect_string .= ';' . $self->{'db_options'}

        if defined $self->{'db_options'};

 

    $log->syslog('info', 'TEST INFO connect_string :  %s  ',

        $connect_string);

 

    return $connect_string;

}


Bonne continuation
Annie Simeau




Olivier Le Monnier a écrit le 12/04/2019 à 12:48 :
  Je crois que tout est là : https://sympa-community.github.io/manual/install/setup-database-oracle.html

  Exemple :
include_sql_query
passwd XXXXXXXXX
host none
sql_query select distinct XXXldap.etu2mail( ind.cod_etu ) from ins_adm_etp iae join composante cmp on cmp.cod_cmp = iae.cod_cmp join individu ind on ind.cod_ind = iae.cod_ind where iae.cod_anu = to_char ( add_months ( sysdate, -6 ), 'YYYY' ) and iae.eta_iae = 'E' and cmp.cod_tpc != 'EXT' and ind.cod_pay_nat != '100'
nosync_time_ranges 20:30-23:59 00:00-02:00
user sympa
name blablabla
db_name trucprod.unicaen.fr:1523/TRUCPROD
db_env NLS_LANG=American_America.AL32UTF8;ORACLE_HOME=/opt/oracle/instantclient_12_1;LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1;TNS_ADMIN=/opt/oracle/instantclient_12_1
db_type Oracle


----- Le 12 Avr 19, à 11:41, Verdu adresse@cachée a écrit :

bonjour

certaines de mes listes de diffusion gèrent leurs abonnés via une
requête sur une base Oracle.

jusqu'à il y a quelques jours aucun problème mais la version oracle est
passée de 11g à 12c et depuis j'obtiens l’erreur :

Driver::Oracle::connect#68 > Sympa::Database::connect#158 Can't connect
to Database Sympa::DatabaseDriver::Oracle
<db_env=ORACLE_HOME=/usr/lib/oracle/12.2/client64;db_host=srvora12c-p7.univ-montp3.fr;db_name=harpprod;db_port=1522;db_user=smi_read>:
ORA-12505: TNS:listener does not currently know of SID given in connect
descriptor (DBD ERROR: OCIServerAttach)

mes collègues DBA m'indiquent que la connexion devrait se faire en
spécifiant un service_name et un instance_name, mais je ne vois pas dans
l'interface graphique de sympa (version 6.1) la possibilité de rentrer
ces informations.

avez-vous pu établir une telle connexion ?

merci pour vos retours éventuels

cdlt

pascale boz

DSIN - SMI

Université Paul-Valéry - Montpellier 3

    
    
--
Annie SIMEAU-ADENIS

Annie SIMEAU-ADENIS

ÉCOLE NORMALE SUPÉRIEURE DE LYON

Direction des Systèmes d'Information

Systèmes, Réseaux et Sécurité

 

http://www.ens-lyon.fr/

e-mail :  adresse@cachée  Téléphone  : 04 26 73 11 77

Standard : 04 26 73 11 00 - Télécopie : 04 26 73 11 45

Bâtiment D8 / Buisson / IFÉ (Institut Français de l'Éducation) Bureau 232

19 allée de Fontenay - 69007 LYON




Archives gérées par MHonArc 2.6.19+.

Haut de le page