Oracle 中的文本很长

Very long text in Oracle

我想知道在 ORACLE 数据库字段中保存超长文本的最佳做法是什么?

我使用 Coldfusion 从表单中保存 Oracle 数据库中邮件的文本内容。我目前在我的数据库字段中使用 LONG 类型。我在保存很长的文本时遇到问题(有许多特殊字符,如 /、"、%、$ 和 & 等)我收到错误 502(网关错误)。如果很长的文本包含一些特殊字符,这不是问题。

你能帮我吗?

在此先感谢您的帮助。

此致,

使用数据库中的 CLOB 列。

在 ColdFusion 中使用绑定参数来插入值。

<cfquery name="insert_long_text" datasource="your_datasource_name">
INSERT INTO your_table(
  id,
  email
) VALUES (
  <cfqueryparam value="#your_id_value#"    cfsqltype="CFL_SQL_INTEGER" />,
  <cfqueryparam value="#your_email_value#" cfsqltype="CFL_SQL_CLOB" />
)
</cfquery>

或者将值(再次使用绑定参数)传递给 Oracle 存储过程。

如果消息特别长并且将其加载到内存中会造成性能问题,那么您可能需要使用 Java(ColdFusion 的基础)来流式传输文件