如何将 HTML 插入 Oracle DB

发布于 2024-12-13 15:37:22 字数 192 浏览 1 评论 0原文

我必须将 HTML 插入到 Oracle DB 表的一列中。我创建了插入语句,并使用 apache commons StringEscapeUtils.Escapesql 和 StringEscapeUtils.EscapeHtml 来尝试插入该 HTML。但我收到 SQL 命令未正确结束的异常。

如果我插入 null 那么语句就会顺利进行。请帮忙..

I got to insert HTML into a column of a Oracle DB table. I created the insert statement, and used apache commons StringEscapeUtils.Escapesql and StringEscapeUtils.EscapeHtml to try to insert that HTML. But i am getting a SQL Command not properly ended exception.

If i insert null then statement goes through fine. Please help..

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

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

发布评论

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

评论(1

热鲨 2024-12-20 15:37:22

您不必使用任何这些转义方法。

无需转义 HTML。当某些用户编写一些文本并且您希望在 HTML 页面内按原样显示它时,转义 HTML 非常有用。因此,您希望将 > 转换为 > 等。数据库不需要这个,并且在从数据库加载时必须将其转义。数据库来恢复您的 HTML。那是完全没有必要的。

HTML 必须进行 SQL 转义,但这是 JDBC 驱动程序的工作。只需使用准备好的语句,并使用 setString() 方法绑定 HTML 字符串,驱动程序就会为您转义所有内容。阅读 JDBC 教程

You shouldn't have to use any of those escape methods.

There is no need to escape the HTML. Escaping the HTML is useful when some user writes some text and you want to display it as is, inside an HTML page. So you want > to be transformed to >, etc. The database doesn't need this, and you would have to unescape it when loading it from the database to get your HTML back. That's completely unnecessary.

The HTML has to be SQL-escaped, but that's the job of the JDBC driver. Just use prepared statements, and bind the HTML string using the setString() method, and the driver will escape everything for you. Read the JDBC tutorial.

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