将文件加载到 clob 中
给定一个指向网络服务器上托管的文件的 url,是否可以将该 url 的内容读取到 clob 中?如果是这样,怎么办?
Given a url pointing to a file hosted on the webserver, is it possible to read the contents of that url into a clob? And if so, how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
下面是一个获取 URL 并将其内容加载到表中的过程。
使用
UTL_HTTP.GET_PIECES()
检索 Web 文件。这将返回一个字符串数组。如果您在防火墙后面工作,则需要声明您的代理。 了解有关 UTL_HTTP 的更多信息。CLOB 争论使用 DBMS_LOB 功能的各个位。该过程声明一个临时 lob 变量,将 UTL_HTTP 数组的各个部分附加到其中,最后将其插入表中。 了解有关 DBMS_LOB 的更多信息。
如果,例如我,您使用的是 11g,您需要将 URL 添加到访问控制列表,否则请求将被阻止。 了解有关 ACL 的更多信息。
将 StackOverflow 的 URL 添加到我的 ACL 后,我现在可以将该文件插入到我的表中:
Here is a procedure which takes a URL and loads its contents into a table.
The web file is retrieved using
UTL_HTTP.GET_PIECES()
. This returns an array of strings. If you are working behind a firewall you will need to declare your proxy. Find out more about UTL_HTTP.The CLOB wrangling uses various bits of DBMS_LOB functionality. The procedure declares a temporary lob variable, appends the pieces of the UTL_HTTP array to it and then finally inserts it into a table. Find out more about DBMS_LOB.
If, like me, you are on 11g you will need to add the URL to an Access Control List, otherwise the request will be blocked. Find out more about ACLs.
After adding the URL for StackOverflow to my ACL I can now insert the file into my table: