Show Menu
SUJETS×

Transformation en Unicode

Soit une instance prod existante sous Linux/PostgreSQL, les étapes de transformation en Unicode de cette instance sont les suivantes :
  1. Arrêter les processus qui écrivent dans la base :
    su - neolane
    nlserver shutdown
    
    
  2. Dumper la base :
    su - postgres
    pg_dump mydatabase > mydatabase.sql
    
    
  3. Créer une base Unicode :
    createdb -E UNICODE mydatabase_unicode
    
    
  4. Restaurer la base :
    psql mydatabase_unicode < mydatabase.sql
    
    
  5. Mettre à jour l'option qui indique que la base est Unicode :
    psql mydatabase_unicode
    update XtkOption set sStringValue = 'u'||sStringValue where sName='XtkDatabaseId' and sStringValue not like 'u%';
    
    
  6. Sur les serveurs de tracking :
    su - neolane
    cd nl6/conf
    vi config-prod.xml
    
    
    Ajouter le caractère u devant la valeur relative à l'identifiant de la base de données ( databaseId ) :
    <web>
     <redirection databaseId="u7F0000010554364C" trackingPassword="myPassword="/>
    </web>
    
    
  7. Sur les serveurs appelant la base :
    su - neolane
    cd nl6/conf
    vi config-prod.xml
    
    
    Modifier la référence de la base :
    <dataSource name="default">
     <dbcnx encrypted="1" 
     login="<dbuser>:<base_unicode>" password="xxxx="
     provider="postgresql" server="yyyy"/>
    </dataSource>
    
    
  8. Redémarrer toutes les machines :
    /etc/init.d/apache stop
    /etc/init.d/nlserver6 stop
    /etc/init.d/nlserver6 start
    /etc/init.d/apache start
    
    
  9. Valider la transformation. Pour cela, se connecter via la console Adobe Campaign et :
    • vérifier que les données s'affichent correctement, notamment les caractères accentués,
    • lancer une diffusion et vérifier que la récupération du tracking fonctionne.