2014-06-10 3 views
1
내가이 추가 될 필요가 BU 형 VARBINARY이다 데이터베이스의 필드에 파일의 바이트를 추가하려고

때문에 파일 크기 constraits 엔티티 프레임 워크 및 추가 VARBINARY 필드

인가가있는 예제 코드/이 작업을 수행하는 방법에 대한 웹 사이트? 아니면 Entity Framework를 사용하여이 필드에 바이트를 추가 할 수 있습니까? 내가 1기가바이트 +의 바이트 배열을 얻기로 데이터를 추가 할 필요가 나는이 유일한 방법이라고 생각 때문에 메모리 예외를 일으킬 것입니다

..

내가

using (var stream = File.OpenRead(fn)) 
{ 
    long bytesToRead = 1; 
    byte[] buffer = new byte[bytesToRead]; 

    while (stream.Read(buffer, 0, buffer.Length) > 0) 
    { 
     Item = buffer; 
    } 
} 

를 수행 한 일부 코드 어떤 도움 주셔서 감사합니다

답변

1

... 당신이 그것을 할하지만 흥미로운 일이 될 것입니다 예 :

UPDATE MyTable SET Col = Col + @newdata WHERE Id = @Id 

ExecuteSqlCommand (see MSDN docs here)를 사용하여 호출합니다.

그러나이 경우 문제는 SQL Server 측으로 만 전송됩니다. 열을 검색하고 수정하고 다시 써야합니다.

정말 메모리 문제를 제거하기 위해 훨씬 더 효율적으로 귀하의 요구 사항입니다 UPDATETEXT를 사용하여 저장 프로 시저를 구현 :

는 기존의 text, ntext 또는 image 필드를 업데이트합니다. UPDATETEXT를 사용하여 text, ntext 또는 image 열의 일부만 변경하십시오. WRITETEXT를 사용하여 전체 텍스트, 텍스트 또는 이미지 필드를 업데이트하고 바꿉니다.

0

대용량 파일을 데이터베이스에 저장할 때 파일을 데이터베이스가 아닌 웹 서버의 디스크에 저장하는 것이 일반적입니다. 데이터베이스에서 파일의 경로를 저장하므로 코드를 데이터베이스에 저장할 필요없이 코드가 내용에 도달 할 수 있습니다. 당신이 메모리에 1GB의 + 파일의 내용을 조작하는 시도하는 경우

그러나, 이것은 기본적인 아이디어 업데이트를 구현하는 저장 프로 시저를하고있다