2

SQL Server の Image Datatype の制限をテストするためのデータを作成する必要があります。0 ~ 2^31-1 (2,147,483,647) バイトの可変長バイナリ データを保持できます。SQL Server で以下を直接使用しています。

INSERT INTO Employees (Id, Name, Photo) 
SELECT 10, 'John', BulkColumn FROM Openrowset( Bulk 'E:\photo.jpeg', Single_Blob) as EmployeePicture

私の質問は、最大サイズ (2,147,483,647 バイト) が列に挿入されていることを確認するにはどうすればよいですか? サイズが 2G の画像を見つけて列に挿入するだけですか? これを行う別の方法はありますか?

前もって感謝します。

4

1 に答える 1

0

ほとんどの JPEG ビューアは、画像データの後のバイトを完全に無視します。次のコードは、ファイルを任意のサイズにするのに十分なバイトを追加します。テストしたところ、結果の画像が Windows 画像ビューアー、paint.net、および Photoshop で開かれました。それを使ってテストファイルを作成できるはずです...

    long desiredSize = 200000;
    byte[] buffer = new byte[1];
    string filename = @"c:\temp\sample.jpg";
    using (var fs = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite))
    {
        fs.Seek(desiredSize - fs.Length - 1, SeekOrigin.End);
        fs.Write(buffer, 0, 1);
        fs.Close();
    }
于 2013-08-21T00:23:17.150 に答える