Я пытался импортировать тело из писем в поле в базе данных SQL 2005, но он продолжает терять форматирование (возврат каретки, вкладки и т.д.)EWS - импорт электронной почты в базу данных SQL
В любом случае получения вокруг этого?
Я пытался импортировать тело из писем в поле в базе данных SQL 2005, но он продолжает терять форматирование (возврат каретки, вкладки и т.д.)EWS - импорт электронной почты в базу данных SQL
В любом случае получения вокруг этого?
Какой тип данных, если ваше поле в SQL? Если вы используете поле «текст» (nvarchar или подобное), это может быть причиной.
Если вам действительно нужен адрес электронной почты, тело нетронутым, то вам, вероятно, нужно хранить его в качестве (бинарной) поле BLOB. Это будет иметь последствия (вы должны прочитать о сохранении двоичного объекта в SQL), но это позволит вам сохранить тело сообщения.
Вероятно, у вас есть хорошая причина, почему эти сообщения должны храниться в SQL, а не снаружи (в файловой системе, например) только с указателями на сообщения в SQL?
Зачем нужно возвращать кавычки и вкладки? Все они являются действительными текстовыми (даже ASCII) символами. Не знакомы с SQL Server, но это звучит как проблема с сценарием импорта (который удобно не объясняется), а не SQL Server как таковой. –
Если я пишу в текстовый файл или просматриваю код, он сохраняет \ n \ n неповрежденным, но бросает его в поле sql. Я пробовал использовать текст и varchar - не повезло. Мне пришлось str.replace с
, чтобы сохранить возврат каретки, но теперь я прочитал поле в формате html. Я попробую совет Мартина. Должен быть более простой способ (?) –
2009-05-21 10:54:55
Возможно, вы пытаетесь отобразить \ r \ n на веб-странице. Но \ r \ n в HTML ничего не делает; это просто пробел. Это мало связано с SQL или хранилищем базы данных. – Andomar
мне удалось найти проблему. Набор данных, который я использовал, передавал значения, но как строку. Я изменил на char, и все форматы сохранены. Большое спасибо за помощь.
Это код, который я использовал, чтобы раздеться в теле электронной почты в HTML форматирования и все символы, чтобы вы остались с фактическим содержанием электронной почты. Это похоже на беспорядок, но он работает:
foreach (Item item in findResults.Items)
{
MessageBody messageBody = new Microsoft.Exchange.WebServices.Data.MessageBody();
List<Item> items = new List<Item>();
if (findResults.Items.Count > 0) // Prevent the exception
{
foreach (Item item2 in findResults)
{
items.Add(item2);
}
}
service.LoadPropertiesForItems(items, PropertySet.FirstClassProperties);
messageBody = item.Body.ToString().Replace("<html dir=", "").Replace("<head>", "").Replace("<meta http-equiv=", "").Replace("content=", "")
.Replace("<style type=", "").Replace("</style>", "").Replace("</head>", "").Replace("<body fpstyle=", "").Replace("ocsi=", "")
.Replace("<div style=", "").Replace("direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;", "").Replace("</div>", "")
.Replace("<div>", "").Replace("</body>", "").Replace("</html>", "").Replace("<br>", "").Replace(">", "").Replace("\"Content-Type", "")
.Replace("\"text/html; charset=utf-8", "").Replace("\"0", "").Replace("\"", "").Replace("text/css", "")
.Replace("id=owaParaStyle", "").Replace("ltr", "").Replace("<meta name=GENERATOR MSHTML 9.00.8112.16470", "").Replace("<style P {", "")
.Replace("MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px", "").Replace("<p", "").Replace("</p>", "").Replace("</p", "").Replace(" ", "")
.Replace("<body fPStyle= ", "").Replace("%", "").Replace("<", "").Replace(">", "").Replace("}", "").Replace("\"","").Replace("body fPStyle=1","");
Что такое EWS? Английский, Уэльсский и Шотландский Железнодорожный ООО? – Andomar
EWS означает веб-службы Exchange –