Firebird データベースに保存されている BLOB フィールドを復元しようとしていますが、BLOB フィールドのコンテンツがドキュメントであるという情報しかありません。
IBManager を使用してセルを右クリックし、[BLOB をファイルに保存] をクリックしてみましたが、保存されたファイルを読み取ることができません (暗号化されているかのように)。Microsoft Word、メモ帳、adobe などで開こうとしましたが、成功しませんでした。また、WinRAR で開いてみましたが (データベースに保存される前に圧縮された可能性があると思いました)、それでも何も起こりませんでした。
BLOB ファイルが圧縮されたかどうか、どのように圧縮されたか、および復元する方法を確認する方法はありますか?
前もって感謝します!
アップデート:
firebird データベースを SQL に変換し、次のコードを使用してエンコードされていない BLOB ドキュメントを抽出します。
conn.Open();
dr = comm.ExecuteReader();
while (dr.Read())
{
byte[] document_byte = null;
if (dr[1] != System.DBNull.Value)
{
document_byte = (byte[])dr[1];
}
string subPath = "C:\\Documents\\" + dr[0] + "\\";
System.IO.Directory.CreateDirectory(subPath);
if (document_byte != null)
{
System.IO.File.WriteAllBytes(subPath + "Document", document_byte);
}
}
Base64 でエンコードされていることがわかっているため、BLOB ファイルを Base64 からデコードするようにコードを調整するにはどうすればよいですか?