我有一些图像存储在数据库中,但我没有这些图像的名称。
是否有人知道如何使用utl_file.fopen()
阅读这些图片?
答案 0 :(得分:1)
UTL_FILE是一个用于在PL / SQL包中操作OS文件的包。您有图像存储在数据库列中,可能是BLOB。因此,UTL_FILE完全是该任务的错误工具。
事实上,数据库对BLOB列的内容几乎没有兴趣,而Oracle通常不会提供渲染图像的功能。您需要做的是发出查询以选择相关列并将其返回到可以显示图像的客户端工具。
“图像以LONG格式存储(既不是长原始也不是blob)。”
然后你真的不走运。 LONG的内置支持比LOB更少。
甲骨文很久以前就弃用LONG的LONG infavour,因为LONG数据类型太难以使用了。 LOBs是在十五年前的Oracle8中引入的,并且没有理由继续使用LONG。我所欣赏的对你目前的困境没有帮助。
顺便说一下,当你说:
时,你有什么想法?“可用于在oracle中查看此图像的任何其他方法 本身“
“Oracle本身”是一个数据存储区。查看和查看数据是客户的工作;这可以是开发人员的工具,如SQL * plus或TOAD,或应用程序。我不知道任何渲染图像的IDE;如果有的话,他们很可能会将图像存储在LONG中。
所以我认为你唯一的选择就是用C#自己写一些东西(如果这是你选择的语言)。在这种情况下,您应该read this answer on working with LONGs in C#.