All'interno della bin/sh il (run di Bamboo) devo codificare il charset verso Oracle, per la codifica dei caratteri speciali, che bamboo non riesce a converitre, portando sul DB caratteri non codificati. Esempio il simbolo dell'euro. Ho provato ad inserire nella shell qsto:
#/bin/sh
FILENAMES=$bamboo_filenames
USER=$bamboo_env_database_user
PASSWORD=$bamboo_env_database_password
HOSTNAME=$bamboo_env_database_hostname
PORT=$bamboo_env_database_port
SERVICE_NAME=$bamboo_env_database_servicename
bamboo_esito="OK"
export IFS=";"
LC_CTYPE=it_IT.UTF-8;
LANG=it_IT.UTF-8;
#ciclo per tutti i file da rilasciare
for filename in $FILENAMES; do
#se il flag deploy.execute = true allora eseguo il deploy
if [ "$bamboo_env_deploy_execute" = "true" ]; then
sqlplus $USER/$PASSWORD@$HOSTNAME:$PORT/$SERVICE_NAME "DECLARE
BEGIN
EXECUTE IMMEDIATE 'alter session set NLS_NUMERIC_CHARACTERS = 'AL32UTF8';
END;"
sqlplus $USER/$PASSWORD@$HOSTNAME:$PORT/$SERVICE_NAME "@$filename" > ${filename}.log
cat ${filename}.log
retVal=$(cat ${filename}.log | grep 'ORA-' -c)
if [ $retVal -ne 0 ]; then
bamboo_esito="KO"
exit 1
fi
fi
done
-----------------
ma non funziona, lo script che va a lanciare, contenente l'insert in tabella, restituisce i valori sbagliati. esempio di stringa nel values 'CSED €'.. Il simbolo dell'euro lo riporta con quadratini bianchi.
Qualcuno mi sa aiutare?
Grazie Lenia