다른 형식의 파일 (Word 문서, PDF, TIF 등)을 저장하는 테이블이있는 SQL Server 2008 R2 데이터베이스가 있는데이 파일을 데이터베이스에서 성공적으로 검색 할 수 있습니다. 다음과 같은 방법데이터베이스에서 압축 파일 검색
개인 무효 GetFilesFromDatabase() 는 { 이 { const를 문자열 connStr = @ 시도 "데이터 원본 = 로컬 호스트 \의 SQLinstance를; 초기 카탈로그의 MyData; 통합 보안 = TRUE;"; // SQL Server 연결을 초기화하십시오. SqlConnection CN = 새 SqlConnection (connStr);
//Initialize SQL adapter.
SqlDataAdapter ADAP = new SqlDataAdapter("Select ole_id, ole_object From OLE Where ole_id = 21601", CN);
//Initialize Dataset.
DataSet DS = new DataSet();
//Fill dataset with FilesStore table.
ADAP.Fill(DS, "FilesStore");
//Get File data from dataset row.
byte[] FileData = (byte[])DS.Tables["FilesStore"].Rows[0]["ole_object"];
string FileName = @"C:\Temp\Text.doc";
//Write file data to selected file.
using (FileStream fs = new FileStream(FileName, FileMode.Create))
{
fs.Write(FileData, 0, FileData.Length);
fs.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
이 파일은 특정 행에 포함 된 다른 정보에 따라 Word 문서 파일입니다. 파일을 디스크로 검색 한 후 파일을 열려고하면 데이터가 모두 횡설수설 한 것처럼 보이고 읽을 수 없습니다. 이제 나는이 파일들이 데이터베이스에 저장되기 전에 압축되었다고 생각하지만, 압축을 풀어서 어떻게 볼 수 있는지, 어떻게 이것을 수행 할 수 있는지에 대한 생각을 모르겠습니다. 나의 궁극적 인 목표는 이러한 이미지를 다른 데이터베이스로 옮기는 것입니다.
개발자는 내 고객이 파일을 검색하는 데 비용을 지불하는 경우에만 도움을 줄 것 같습니다. 나는이 파일들이 아마도 OLE 객체라고 생각하고 있는데, 그 이유는 그것이 열의 이름이기 때문에 데이터 타입은 Image이다. 이것은 이상한 것입니다. –