English
Instant Developer Foundation Documentazione
  • Note di rilascio
  • Instant Developer Foundation
  • Versioni precedenti
  • Versione 18.5.7200
  • Miglioramenti

DBA: Postgres e formato BLOB

copia link

Descrizione

Se si utilizzava una versione di Postgres uguale o successiva alla 9.0 si potevano ottenere errori nella visualizzazione automatica dei BLOB. Il motivo è dovuto ad una breaking-change introdotta da Postgres.

A partire dalla versione 18.5 di Instant Developer, dopo aver aperto la connessione, il sistema esegue il comando

   SET bytea_output = 'escape'

Funzionalità interessate

L'utilizzo di campi BLOB su database Postgres.

Note

  • Miglioramento relativo alla richiesta di assistenza 000083-2018.
  • Instant Developer estrae il contenuto dei campi BLOB tramite il driver (.NET o JDBC). Nelle versioni di Postgres precedenti la 9.0 il driver restituiva un array di byte contenente esattamente i byte del file caricato nel database.

    A partire dalla versione 9.0, invece, è stato introdotto un nuovo parametro chiamato bytea_output (con valore predefinito "HEX") che dice al database come restituire il contenuto dei campi BLOB al driver. Tale settaggio non è configurabile (al momento) tramite stringa di connessione.

    Quando viene effettuata la lettura del campo BLOB il driver restituisce ancora un array di byte ma il contenuto dell'array è il contenuto del file in formato "HEXADECIMAL". Per esempio se era stata caricata un immagine GIF il contenuto del file poteva essere il seguente:
    47 49 46 38 37 61 20 ...         GIF87a
    dove a sinistra sono mostrati i byte restituiti dal driver e a destra la loro rappresentazione in formato stringa. A partire dalla versione 9.0 di Postgres il driver restituisce i byte seguenti:
    34 37 34 39 34 36 33 38 33 37 36 31 32 30...       47494638376120
    
    ovvero i byte di prima ma "convertiti" in un formato "HEX".
  • Instant Developer, quando viene aperta la connessione al database, cambia il valore del parametro bytea_output in "ESCAPE" per non dover convertire da formato HEX a formato originale prima di salvare il file su disco. Tale variazione è per sessione pertanto se il database è utilizzato da altre applicazioni queste non saranno influenzate. Qualora si desideri è possibile cambiare tale impostazione una volta per tutte sul dataabse.

Ultima modifica: 26/02/2019 / Validità: da 18.5.7200

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum