有没有简单的方法可以将 BLOB 保存到 Oracle 客户端文件系统中?
有没有简单的方法可以仅使用标准 Oracle 实用程序(例如 sqlplus 或 sqlldr)将 BLOB 作为二进制文件保存到客户端文件系统中?
我已经研究过 UTL_FILE
包,但实际上我有两个问题:
- 我怀疑它是否可以与客户端文件系统一起使用。
- 我没有在保存 BLOB 的架构中
CREATE DIRECTORY
的权限,因此我根本无法使用UTL_FILE
。
另外,我知道我可以用任何语言(例如 Java)编写一些国产实用程序;连接到 Oracle,选择我的 BLOB 并将其保存为二进制格式。但在这样做之前我会寻找一些更简单的方法。
Is there any easy way to save BLOB as a binary file into client-side file system with using of only standard Oracle utilities (such as sqlplus or sqlldr for example)?
I've already looked onto UTL_FILE
package, but actually I have two problems with it:
- I have doubts that it can work with client-side file system.
- I have no privilege to
CREATE DIRECTORY
in schema where BLOBs are saved and so that I can't work withUTL_FILE
at all.
Also, I know that I can just write some homebred utility in any language (Java for example); connect to Oracle, select my BLOB and save it in binary format. But I'd look for some easier way before doing this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您真的想要一个将 BLOB(例如 winword.exe)写入本地 PC 的数据库吗?这是一种有意受到保护的东西。
它是由客户端驱动的,因此最好的起点是本地计算机上运行的任何内容。我会使用 Java 例程,或者如果您正在运行 APEX,则使用一个简单的过程,将 BLOB 通过浏览器推出,并让浏览器提示您保存什么内容。
Would you really want a database writing a BLOB, for example winword.exe, to your local PC ? This is the sort of thing that is intentionally quite protected.
It is very client driven, so the best place to start is with whatever is running on your local machine. I'd go with a Java routine, or if you've got APEX running, a simple procedure that will push the BLOB out through the browser and let the browser prompt you for what to save it.