データベース内にさまざまな種類のファイル (.gif、.doc、.pdf など) を保存することは、大きな課題となります。一般的な解決策には、ファイルをバイト配列に変換し、バイナリ データとして保存することが含まれます。 しかし、これが最も効率的な方法なのでしょうか?
この分析は、ファイル データを保存するための SQL Server の VARBINARY(MAX)
データ型に焦点を当てています。
databaseFilePut
関数は、ファイルを読み取り、バイト配列に変換し (FileStream
と BinaryReader
を使用)、この配列を Raporty
テーブルの VARBINARY(MAX)
列に挿入します。
databaseFileRead
関数は、データベースからファイルを取得し、指定されたファイル システムの場所に保存します。 VARBINARY(MAX)
列からバイト配列を読み取り、ファイルを再構築し、指定されたパスに書き込みます。
databaseFileRead
関数を使用すると、ファイルを MemoryStream
として取得することも容易になります。これにより、ファイル システムの一時ストレージを必要とせずに、メモリ内でのファイル処理が可能になります。
MemoryStream
データの保存databaseFilePut
関数は、MemoryStream
列への VARBINARY(MAX)
データの直接挿入をサポートしています。 データベースを挿入する前に、MemoryStream
をバイト配列に変換します。
以上がSQL Server の VARBINARY(MAX) にファイルをバイト配列として保存することは効果的なデータベース ストレージ ソリューションですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。