将图像保存在 Oracle 中,稍后无需检索 BMP

发布于 2024-09-09 03:36:45 字数 818 浏览 1 评论 0原文

现在,由于 Oracle 保存图像而我的 Web 应用程序获取图像的情况,我在 Web 应用程序中面临一些性能问题。

存储图像的数据库从 Oracle Forms 表单获取图像,该表单允许用户沿图像保存一些数据(作为 BLOB)。无论您选择哪种格式作为输入,它都会保存在一个表中,并包含其描述和内容,获取图像的相应字段是 BLOB。

现在转到 Web 应用程序,它通过查询存储过程和 Java WS 客户端的 Web 服务到达表,因此我的 Web 应用程序获取图像并在需要时将其保存在 Web 应用程序服务器的临时文件夹中。输出没有任何特定的扩展名,因为数据库不告诉它应该是哪个扩展名。无论如何,浏览器可以使用元数据来判断。该过程的简要架构如下

Presentation layer <--- Business logic <--- WS Client ---o)--- WS <--- Stored Proc <--- BLOB column

我的问题是:如何避免数据库提供位图?由于加载 1.5MB 位图,在特定情况和连接不良时性能很糟糕。并且此 Web 应用程序必须能够在 256Mb 连接中正常工作。那能做什么呢?

感谢您的帮助。

编辑:可以使用 BFILE 数据类型来处理该事物。感谢您的帮助。 (2010/10/20)

Edit2:图像通过 Oracle 表单 (6i/10g) 构建的客户端/服务器系统上传到数据库。表单本身将图像作为 blob 存储在表中,将其转换为位图,无论上传的图像是浅色 jpg (2011/12/07)

Right now I'm facing some performance issues in a web app because of a situation with Oracle saving images and my webapp getting them.

The database where the image is stored gets it from a Oracle Forms' form, which allows user to save some data along the image (as a BLOB). No matter the format you choose as input, it gets saved in a table with its description and stuff, with the corresponding field getting the image is a BLOB.

Now going to the webapp, it reaches the table through a web service querying a stored procedure and a Java WS client, so my webapp gets the image and saves it in the webapp's server's temp folder while needed. The output does not get any particular extension because the DB doesn't tell which extension should it be. Anyhow, the broswer can tell using the metadata. A brief schema of the process goes as follows

Presentation layer <--- Business logic <--- WS Client ---o)--- WS <--- Stored Proc <--- BLOB column

My problem is: how can I avoid the DB serving a bitmap? The performance is awful in specific situations and poor connections because of loading a 1.5MB bitmap. And this webapp must be able to work properly in 256Mb connections. What can be done, then?

Thanks for your help.

Edit: The thing can be treated using BFILE datatype. Thanks for your help. (2010/10/20)

Edit2: The images are uploaded to the database thru a client/server system build in oracle forms (6i/10g). The form itself is the one who stores the image as a blob in the table, transforming it into a bitmap, doesn´t matter if the uploaded image is a light jpg (2011/12/07)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑梦风尘 2024-09-16 03:36:45

不确定你真正想要在哪一层处理事情。
如果是数据库层,那么我怀疑您需要开始使用 ORDSYS.OrdImage 数据类型,并且您可以使用内置的 格式转换操作,将 BMP 转换为 JPG 或其他格式。

通常还要考虑大位图或大图像文件的问题。

Not sure at which layer you actually want to handle things.
If it is the database layer, then I suspect you need to start using ORDSYS.OrdImage datatypes, and you can them make use of the built-in format conversion operations to turn BMP to JPG or whatever.

Also consider is the problem with large bitmaps or with large image files in general.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文