【发布时间】:2012-03-05 20:14:04
【问题描述】:
我想读取存储在 Oracle Long 数据类型中的图像。 图像数量存储在远程 Oracle 数据库中数据类型为 long 的列中。我只需要检索这些图像并将它们显示在我的 aspx 页面上。 我可以从数据库中检索图像,但是当试图将其转换为字节数组时,它会抛出错误,字符串无法转换为字节 []'。 任何人都对如何检索存储在数据库中长列中的这些图像有任何建议。
byte[] signatureBlobReceived = cls_TBL_BROKER_BL.GetInstance().GetSignatureBlobFromAccountNumber_BL(strCRNnumber);
return File(signatureBlobReceived, "image/jpeg");
public byte[] GetSignatureBlobFromAccountNumber_BL()
{
object SignatureBlob = null;
Database db = DatabaseFactory.CreateDatabase("imageConnectionString");
DbCommand dbc = db.GetSqlStringCommand(ConfigurationSettings.AppSettings["signqry"].ToString());
dbc.CommandType = CommandType.Text;
SignatureBlob = db.ExecuteScalar(dbc);
byte[] array = Encoding.ASCII.GetBytes(Convert.ToString(SignatureBlob));
string aa = string.Empty;
return array;
}
Query used is:
<add key="signqry" value="SELECT image FROM table1"/> `
【问题讨论】:
-
您是否尝试过从 Long 类型转换为 Lob 类型(更改表格本身)?长类型在 Oracle 中已弃用,应该是用于存储图像的 blob。
-
感谢您的回复,但我无法更改表结构。这是一个远程数据库,我无权这样做。我只需要从他们的数据库中获取数据并显示出来。
-
这似乎与this question 非常相似。
-
是的,亚历克斯,但即使是那个问题也没有答案。
-
嗨。你有没有找到任何解决方案?我被困在同样的情况下。我也在尝试从 Finacle CBS 获取我的数据。
标签: asp.net-mvc oracle