Visual C ++, oggetto CMap salvato nella colonna blob

0

Ho un oggetto CMap MFC, ogni oggetto memorizza le voci 160K ~ di dati lunghi. Ho bisogno di memorizzarlo su Oracle SQL. Abbiamo deciso di salvarlo come un blob. Dato che non vogliamo creare tabelle aggiuntive, abbiamo anche pensato di salvarlo come file locale, con la colonna SQL che punta a quel file. Preferiremmo semplicemente tenerlo come blob sul server e cancellare la tabella ogni due settimane.

La tabella ha una chiave sequenziale come ID e 2 colonne di tempo. Devo aggiungere la colonna blob per memorizzare su ogni riga quella CMap.

Puoi raccomandare una guida per fare questo approccio (leggi / scrivi su Map to blob o forse su un clob)? Grazie.

    
posta ilansch 27.09.2012 - 09:57
fonte

2 risposte

2

Non penso che questo sia un ottimo approccio:

  • Per gli starters la gestione di Oracle BLOB / CLOB nelle classi ODBC e MFC è non eccezionale e può essere soggetto ad alcune regole non banali (ad esempio The LOB le colonne devono essere le ultime nell'istruzione select, gli aggiornamenti posizionali lo sono non sempre possibile).
  • In secondo luogo, nascondendo tutto nel blob perdere la capacità di interrogare facilmente il contenuto (ad esempio, trovare solo i record avere il "valore campione" nella mappa), riorganizzare in un altro modulo.
  • In terzo luogo, se il contenuto del BLOB fa riferimento ad altro DB articoli, si può perdere la convalida e la capacità di mantenere il integrità se i dati di riferimento cambiano.

È difficile vedere un lato negativo semplicemente normalizzando i dati e memorizzandoli nella tabella separata e referenziata. Puoi anche assemblarlo in un BLOB più tardi con una stored procedure, se questo è un requisito.

    
risposta data 02.11.2012 - 21:56
fonte
0

Stai cercando la serializzazione , che trasforma un oggetto strutturato in un blob. MFC ha un supporto esplicito per questo.

    
risposta data 27.09.2012 - 16:30
fonte

Leggi altre domande sui tag