我通过jquery在asp.net应用程序的应用程序中有ckeditor
。
它在local
处理得很好。它在数据库中插入数据无关紧要
无论文本的长度如何。但是当我在live之后插入数据时
将构建放在服务器上。
我没有保存数据,当我减少它的长度然后保存数据。我正在使用WCF服务插入这个文本。
请在此背景下提供帮助。
期待听到同样的事情。
答案 0 :(得分:0)
Oracle DB接受4000个字符作为输入字符串的最大长度(不是数据类型)。 也就是说,您希望最多发送4000个字符作为值。 解决方案: 如果您使用的是ASP.NET,请在将列类型更改为CLOB后尝试使用此功能,以便其大小最大为4GB:
Public Shared Function AssignStringToCLOB(ByVal targetString As String, ByVal myConnection As OracleConnection) As OracleLob
Dim _tempCommand As New OracleCommand()
_tempCommand.Connection = myConnection
_tempCommand.Transaction = _tempCommand.Connection.BeginTransaction()
_tempCommand.CommandText = "DECLARE A " + OracleType.Clob.ToString() + "; " + "BEGIN " + "DBMS_LOB.CREATETEMPORARY(A, FALSE); " + ":LOC := A; " + "END;"
Dim p As OracleParameter = _tempCommand.Parameters.Add("LOC", OracleType.Clob)
p.Direction = ParameterDirection.Output
_tempCommand.ExecuteNonQuery()
Dim _tempCLOB As OracleLob = CType(p.Value, OracleLob)
If targetString <> String.Empty Then
Dim _bytesArray As Byte() = Text.Encoding.Unicode.GetBytes(targetString)
_tempCLOB.BeginBatch(OracleLobOpenMode.ReadWrite)
_tempCLOB.Write(_bytesArray, 0, _bytesArray.Length)
_tempCLOB.EndBatch()
End If
_tempCommand.Transaction.Commit()
Return _tempCLOB
End Function
并在打开与Oracle DB的连接以设置参数值后调用它,这应该可以正常工作。