PROBLEMA
A causa di un recente aggiornamento di FreeTDS (freetds-1.1.11-1.el7.x86_64), è emerso un problema che riguarda gli script personalizzati per la rubrica centralizzata che accedono a database MSSQL.
Nello specifico, è un problema riguardante query che utilizzano alias per i campi del database.
L'effetto concreto è che tutti i dati nei campi con alias non vengono visualizzati sulla centralizzata.
Per maggiori dettagli tecnici consultare: https://github.com/nethesis/dev/issues/5690
SOLUZIONE
Le query devono essere adattate per non utilizzare gli alias: esistono però workaround qualora gli alias non possano essere eliminati.
Il workaround più semplice è il seguente:
(N.B.: non garantisce al 100% di sanare la situazione. Nel caso i problemi rimanessero, lo script personalizzato va modificato in modo più approfondito).
1. specificare il nome dello script personalizzato: per farlo, dare il comando seguente, sostituendo a filename il nome esatto dello script:
export FILE=filename
ESEMPIO: se lo script si chiama business_nts.php, il comando sarà:
export FILE=business_nts.php
2. dare il comando seguente, che prima crea una copia di backup dello script originario (il nome sarà lo stesso, seguito dall'estensione .old) e quindi applica un fix sullo script vero e proprio:
cp /usr/share/phonebooks/scripts/$FILE /usr/share/phonebooks/scripts/$FILE.old; chmod a-x /usr/share/phonebooks/scripts/$FILE.old; sed -i 's/\$query="/\$query="DECLARE @ignore TINYINT;/g' /usr/share/phonebooks/scripts/$FILE
3. Da ultimo, poiché si è applicato il fix, bisogna lanciare la sincronizzazione della centralizzata con questo comando:
/usr/share/phonebooks/phonebook