2009-11-11 73 views
0

我有一个ASP.NET应用程序(vb.net代码隐藏),由于它在一个服务器共享中存储TIFF文件而导致严重的性能问题。现在有超过一百万个.TIF文件!应用程序使用Oracle数据库表中的相应行跟踪属性的扫描图像。我们有这样的想法,将图像本身存储在新的Oracle表中可能会更好。如何才能做到这一点?如何在Oracle中存储TIFF文件?

我们考虑的另一种解决方案是将服务器共享按状态分为多个文件夹(OH文件夹,WV文件夹,VA文件夹等)。看起来像数据库选项可能更具长期意义 - 长远,但我们该怎么做呢? TIFF可以存储在BLOB列中,然后使用.NET提取回TIFF格式?任何人都知道吗?

回答

3

是的,您可以在Oracle的BLOB数据类型中存储TIFF文件。

检出this链接以使用ADO.NET获取BLOB字段内容。

+0

我没有按照示例的方式使用数据集对其进行编码,但试图将其编码为对存储包的调用过程通过参数传递TIFF文件的字节数组。能够只存储字节数组的一个字节 - 当我没有在Oracle参数中传递存储过程的长度时。添加一个长度会给我一个错误。参数的每个其他组合都会抛出错误。该错误表示不兼容或不合理的转换(现在不记得确切的措辞)。我尝试了ODP.net和Microsoft Oracle DataProvider。我现在已经放弃了Blob。 – Greg 2009-11-25 13:47:34

0

除了存储在数据库中,如果将不同文件夹中的一千个文件组分开存储,则性能应该会提高很多。 在Windows环境中,文件数量非常大的文件夹会严重降低性能