Exchange 웹 서비스 전자 메일의 전자 메일 본문을 바이트 배열로 변환하려고 시도하지만이 작업을 수행 할 때마다 그것이 SQL image
필드에 삽입 때 그래서 The quick brown fox
image
System.Text.Encoding.ASCII.GetBytes는 각 문자열에서 처음으로 2 바이트를 잃습니다.
byte[] emBodyBytes;
foreach (Item item in findResults)
{
if (item is EmailMessage)
{
EmailMessage em = item as EmailMessage;
emBodyBytes = System.Text.Encoding.ASCII.GetBytes(em.Body.Text.ToString());
dEmailMessage thisMailMessage = new dEmailMessage //LINQ-to-SQL
{
emmMessage = emBodyBytes //This is our byte object of the email body string
}
emailDB.dEmailMessages.InsertOnSubmit(thisMailMessage);
}
}
의 종류에 따라 SQL 데이터베이스 필드에 삽입 한 후 텍스트의 첫 두 글자가 누락 것은 e quick brown fox
된다.
변환 과정에서 어떤 일이 발생했거나 SQL에서 image
정의가있는 필드의 2 바이트를 예상하는 경우입니다.
필드의 정의는 필수 코드 포인트가 누락
CREATE TABLE [dbo].[dEmailMessages](
[emmMessage] [image] NOT NULL
)
텍스트를 '이미지'로 저장하는 것은 반 직관적입니다. 텍스트를 텍스트로 저장하는 것을 고려 했습니까? – dtb
@dtb -이 소프트웨어는 http://www.thedailywtf.com의 후보입니다. 그리고 유감스럽게도 SQL 스키마를 변경하기에는 너무 많은 작업이 필요합니다. –
2 문자는 무엇입니까? 그들은 그들이 무엇인지에 관계없이 다진 것입니까? –