C# Oracle数组绑定导致数据被截断

C# Oracle数组绑定导致数据被截断,c#,oracle,odp.net,C#,Oracle,Odp.net,我使用数组绑定将一系列Python脚本导入Oracle数据库: using (OracleCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"insert into scripts (nscript, scriptname, scriptdescr, scripttext, created, modified, createdby) values (nscript.nextval, :1, :2,

我使用数组绑定将一系列Python脚本导入Oracle数据库:

using (OracleCommand cmd = conn.CreateCommand())
{
    cmd.CommandText = @"insert into scripts (nscript, scriptname, scriptdescr, scripttext, created, modified, createdby) 
            values (nscript.nextval, :1, :2, :3, sysdate, sysdate, 'XXX')";

    OracleParameter paramScriptName = new OracleParameter("ScriptName", OracleDbType.Varchar2, 64);
    paramScriptName.Value = scriptNames.ToArray();

    OracleParameter paramScriptDescription = new OracleParameter("ScriptDescripption", OracleDbType.Varchar2, 128);
    paramScriptDescription.Value = scriptDescriptions.ToArray();

    OracleParameter paramScriptText = new OracleParameter("ScriptText", OracleDbType.Long, 0);
    paramScriptText.Value = scriptTexts.ToArray();

    cmd.Parameters.Add(paramScriptName);
    cmd.Parameters.Add(paramScriptDescription);
    cmd.Parameters.Add(paramScriptText);

    cmd.ArrayBindCount = scriptNames.Count;

    cmd.ExecuteNonQuery();

    paramScriptName.Dispose();
    paramScriptDescription.Dispose();
    paramScriptText.Dispose();
}
遵循本指南:

但是,我注意到一些较长的脚本在导入时会被截断

对我做错了什么有什么建议吗

非常感谢


Steve

为什么在此行中使用Long和0大小:OracleParameter paramScriptText=new OracleParameterScriptText,OracleDbType.Long,0;?我不太确定还需要说明什么,但我在别处看到过。那个特定的构造函数坚持使用size参数。值得一提的是,如果我大幅增加这个数字,问题不会自行解决。数据库表中scripttext列的类型是什么?它不应该保存Varchar2数据吗?数据库版本是什么?是否可以将scripttext列类型从LONG修改为CLOB?