1
FILESTREAM
열을 읽고 쓸 때 System.Data.SqlTypes.SqlFileStream
을 사용해야합니까? 예를 들어FILESTREAM - FILESTREAM 열에서 큰 파일 읽기 및 쓰기
:
위의 코드에서var sqlCommand = sqlConnection3.CreateCommand();
sqlCommand.CommandText = "Select FileData.PathName() As Path, GET_FILESTREAM_TRANSACTION_CONTEXT() As TransactionContext From PictureTable Where PkId = (Select Max(PkId) From PictureTable)";
var reader = sqlCommand.ExecuteReader();
reader.Read();
var filePath = (string)reader["Path"];
var transactionContext = (byte[])reader["TransactionContext"];
var sqlFileStream = new SqlFileStream(filePath, transactionContext, FileAccess.Read);
var data = new byte[sqlFileStream.Length];
sqlFileStream.Read(data, 0, Convert.ToInt16(sqlFileStream.Length));
내가 쿼리가 여기에 표시하고 직접 액세스 사용할 수있는 FileData
: SqlFileStream
를 사용하고 읽을 varbinary(max)
를 사용하지 않는 경우 어떻게됩니까
Select FileData From PictureTable Where PkId = (Select Max(PkId) From PictureTable)
쓰기?
SQL Server와 응용 프로그램을 별도의 서버에 설치하면 설치 Windows 인증에서 SqlFileStream 파일 경로에 액세스 할 때 문제가 발생합니다. 어떻게이 문제를 피할 수 있습니까?