Sto utilizzando C# per scrivere un componente aggiuntivo di Outlook 2007 per archiviare le e-mail in un database di SQL Server 2005. Vorrei poter archiviare l'intero file .msg in un campo varbinary(MAX)
. C'è un modo per farlo senza dover utilizzare il metodo MailItem
di Outlook SaveAs()
per salvare in un file temporaneo e quindi leggere il file di nuovo? Avrò bisogno di trasferire un gran numero di e-mail al database e preferirei evitare costose letture e scritture su disco.Memorizzazione di e-mail di Outlook in un database Microsoft SQL Server
risposta
Se stai cercando di archiviarlo come file in formato .msg, senza provare a riscriverlo da solo, direi che stai guardando la rotta che hai menzionato.
Personalmente vorrei andare a memorizzare bit e pezzi dell'email, ma questo dipende esattamente da cosa si intende fare con esso. Memorizzare un file MSG in un DB a mio parere non è davvero nulla di valore. ora il tuo caso d'uso potrebbe dimostrare il contrario.
Sto estraendo i pezzi importanti da archiviare come metadati. Tuttavia, voglio essere in grado di visualizzare l'e-mail in Outlook. Sto fondamentalmente progettando un sostituto per cartelle pubbliche. – Skywalker
Oh, dato questo, potresti essere solo sfortunato. Purtroppo non riesco a trovare un modo per fare quell'operazione in memoria. –
Forse c'è un modo per creare una directory virtuale in modo che 'MailItem' pensi che si stia salvando sul disco mentre sta effettivamente caricando in memoria? – Skywalker
Possibilmente.
A seconda della configurazione, è possibile evitare Outlook e utilizzare solo Exchange/SQL Server.
Non ho mai provato così YMMV
Non ho davvero accesso al server Exchange e voglio che vengano visualizzati gli utenti per spingere solo alcune e-mail nel database – Skywalker
Potrebbe non aver aiutato l'OP, ma tu mi hai aiutato immensamente. Grazie! Questo e 'esattamente quello che stavo cercando :-). – dallasstar
Buon signore fortuna questo suona come se stessi camminando in un incubo –
Qual è il punto di memorizzare il msg in un formato * * binario nel db ? Ho pensato che .msg fossero testo ... –
esattamente - la memorizzazione di .msg come NVARCHAR (MAX) ti permetterebbe anche di applicare la ricerca full-text ai messaggi di posta .... non tanto se la memorizzi in un formato binario proprietario. –