Używam C# do pisania dodatku Outlook 2007 do przechowywania wiadomości e-mail w bazie danych SQL Server 2005. Chciałbym móc przechowywać cały plik .msg w polu varbinary(MAX)
. Czy istnieje sposób na wykonanie tej czynności bez konieczności użycia metody Outlook MailItem
do zapisania w pliku tymczasowym, a następnie ponownego wczytania tego pliku? Będę musiał przenieść dużą liczbę wiadomości e-mail do bazy danych i wolałbym uniknąć kosztownych odczytów i zapisów na dysku.Przechowywanie wiadomości e-mail programu Outlook w bazie danych Microsoft SQL Server
Odpowiedz
Jeśli chcesz rzeczywiście zapisać go jako plik w formacie .msg, nie próbując ponownie napisać tego samodzielnie, powiedziałbym, że patrzysz na trasę, o której wspomniałeś.
Osobiście chodzę do przechowywania bitów i elementów wiadomości e-mail, ale to zależy od tego, co dokładnie zamierzasz z tym zrobić. Przechowywanie pliku MSG w DB, moim zdaniem, w rzeczywistości nie ma żadnej wartości. teraz Twój przypadek użycia może okazać się inny.
Wyciągam ważne elementy do przechowywania jako metadane. Chcę jednak móc ponownie wyświetlić wiadomość e-mail w programie Outlook. Zasadniczo projektuję zamiennik folderów publicznych. – Skywalker
Och, biorąc pod uwagę to, możesz mieć po prostu pecha. Niestety nie mogę znaleźć sposobu na zrobienie tej operacji w pamięci. –
Być może istnieje sposób na utworzenie katalogu wirtualnego, więc 'MailItem' uważa, że sam zapisuje się na dysku podczas jego ładowania do pamięci? – Skywalker
Prawdopodobnie.
W zależności od konfiguracji można uniknąć programu Outlook i po prostu użyć serwera Exchange/SQL Server.
Nigdy nie próbowałem go więc YMMV
Nie mam naprawdę dostępu do serwera Exchange i chcę, aby użytkownicy wepchać tylko niektóre e-maile do bazy danych – Skywalker
Może nie pomogło mi OP, ale pomógł mi niezmiernie. Dziękuję Ci! Właśnie tego szukałem :-). – dallasstar
Powodzenia panie brzmi to jak idziesz w koszmar –
Jaki jest sens przechowywania wiad w binarnym formacie * * w db ? Myślałem, że .msg to tekst ... –
dokładnie - przechowywanie .msg jako NVARCHAR (MAX) pozwoliłoby również na zastosowanie wyszukiwania pełnotekstowego do wiadomości e-mail .... nie tak bardzo, jeśli przechowujesz go w zastrzeżonym formacie binarnym. –