将jpeg图像写入SQL Server 2000样式TEXT字段

时间:2013-05-21 01:40:58

标签: c# sql image stream sql-server-2000

我有一个客户要我将jpeg文件导入他们的SQL Server数据库。

问题是他们的数据库供应商最初在SQL Server 2000(或更早版本)中构建产品,尽管他们的数据库当前位于SQL Server 2008 R2实例上。看起来他们的旧数据看起来只是被转储到数据类型text的大字段中。

是否可以将jpeg文件读入MemoryStream然后直接写入SQL Server数据库?如果是这样,我该怎么做呢?或者,有更好的方法吗?

谢谢,

安德烈

2 个答案:

答案 0 :(得分:1)

将图片存储在数据库中并不符合成本效益,效率也不高,最好的方法是存储文件的路径。

答案 1 :(得分:0)

我想如果你真的需要这样做,你可以将字节流构建成这样的字符串:

        MemoryStream ms = [your stream];
        Byte[] memoryBytes = ms.ToArray();
        StringBuilder sBuilder  = new StringBuilder();

        foreach(byte nextByte in memoryBytes)
            sBuilder.Append((char)nextByte);

        string res = sBuilder.ToString();

然后通过传递字符串将其存储在数据库中。您应该通过提供更新其数据库结构来尝试从客户端获得一些额外的工作;)