【发布时间】:2018-01-08 14:38:56
【问题描述】:
我想知道在 ORACLE 数据库字段中保存超长文本的最佳做法是什么?
我使用 Coldfusion 从表单中将邮件的文本内容保存在 Oracle 数据库中。我目前在我的数据库字段中使用 LONG 类型。我在保存很长的文本时遇到问题(有许多特殊字符,如 /、"、%、$、& 和其他字符)我收到错误 502(网关错误)。如果很长的文本包含一些特殊字符,那不是问题。
你能帮我解决这个问题吗?
提前感谢您的帮助。
问候,
【问题讨论】:
-
你看过 CLOB 吗?就个人而言,我从一开始就避免使用 LONG 列——它们不过是麻烦
-
Oracle 告诉你not to create new LONG columns。请改用 CLOB。但这不太可能是 Coldfusion 的问题 - 听起来像是编码问题。
-
LONG已被弃用多年,我认为根本没有理由使用它。 LONG Data Type 的限制列表很长。 -
@WernfriedDomscheit - 当然,当 Oracle 告诉我们不要使用
LONG时,他们是从嘴里说出来的。 (当然,这是正确的建议。)他们(Oracle)本身仍然在数据字典中使用LONG而不是CLOB,用于明显属于文本类型的列。他们可以编造任何他们想要的借口,但这并不能改变他们没有听从自己建议的事实。很难责怪用户跟随 Oracle 自己的领导(尽管我们都同意,一个不应该使用LONG数据类型)。 -
“Bad gateway”听起来不像是 Oracle 在
LONG列(或任何其他数据类型)中使用特殊字符时遇到的问题。该错误是网络错误,但它可能是由“围绕”Oracle 代码的代码引起的。似乎是 ColdFusion 问题(或者如果您编写了任何代码,也可能是您自己的代码问题 - 比如说用 PHP)。
标签: oracle coldfusion special-characters gateway