Clob没有在asp.net的存储过程中插入超过4000个字符的文档

时间:2016-07-12 07:10:08

标签: c# asp.net oracle stored-procedures

我有一个用于插入数据的存储过程,特别是一个超过4000个字符的文件,当我从plsql插入时它正在插入数据和文档但是当我从asp.net项目调用它时它不会上传文档4000个字符,但它插入一个小文件。我这样插入

Database _db = DatabaseFactory.CreateDatabase();
ReportTemplateSchema _schema=(ReportTemplateSchema)_envelope.GetMaster();
DbCommand cmd = _db.GetStoredProcCommand("INSRT");
_db.DiscoverParameters(cmd);
_db.AddInParameter(cmd, "Tmp_Document", DbType.Object, _schema.Document);
_db.ExecuteNonQuery(cmd);

ora-01460未实现或无理转换请求这是因为大文档。

1 个答案:

答案 0 :(得分:0)

Oracle对命令的完整大小和可以发送到DBMS的参数有限制,您超过了该限制。有一组功能专门用于使用您应该使用的流或页面来读取和编写Lobs和Clobs。

有关如何在.net

中执行此操作的示例,请参阅http://www.codeproject.com/Articles/13675/Using-C-for-Inserting-CLOB-Data-in-Oracle