Oracle中的文本非常长

时间:2018-01-08 14:38:56

标签: oracle coldfusion special-characters gateway

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

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

你可以帮帮我吗?

提前感谢您的帮助。

此致

1 个答案:

答案 0 :(得分:2)

在数据库中使用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构建)来传输文件(example streaming BLOBs)