如何从C#4.0中获取Oracle的blob数据?

时间:2011-02-25 08:42:17

标签: c#-4.0

这里我有一个从Oracle DB读取数据的要求。在一个列被定义为BLOB。使用该数据我需要构建插入查询,如“插入到emp值('100','John' ,EMP_PIC); 这里emp_pic被定义为BLOB。请给我一些关于这个的想法。我正在使用C#4.0。

2 个答案:

答案 0 :(得分:0)

也许你可以根据这个链接使用这个示例项目。我希望这有帮助。

http://www.codeproject.com/Articles/13365/Insert-retrieve-an-image-into-from-a-blob-field-in

如果您想使用OracleDataReader从blob数据中获取值,只需使用以下内容将第一个字节转换为图像:

private Image byteArrayToImage(byte[] byteArrayIn)
        {
            MemoryStream ms = new MemoryStream(byteArrayIn);
            ms.Position = 0;
            Image returnImage = Image.FromStream(ms);
            return returnImage;
        }

然后读取数据blob:

picFileData.Image = byteArrayToImage(dr["EMP_PIC"] as byte[]); // dr is OracleDataReader dr;

picFileData是来自visual studio的PictureBox,而EMP_PIC是Oracle中的blob列

答案 1 :(得分:-1)

尝试使用LINQ to SQL。这非常有用。