通过dblink大小限制,通过odp.net插入blob

|| 我正在使用ODP.NET(版本2.111.7.0)和C#,OracleCommand和OracleParameter对象以及OracleCommand.ExecuteNonQuery方法 我想知道是否有办法通过DB链接将大字节数组插入驻留在另一个数据库中的oracle表中。我知道通过数据库链接进行的lob处理通常存在问题,但是我有点犹豫,无法修改代码并添加另一个连接。 将创建一个以blob作为参数并通过dblink内部对话的存储过程有什么不同?不要这样。 我目前的情况是,只要我通过OracleCommand传递的参数是长度为0或长度大于32KB的字节数组,Oracle都会给我“ ORA-22992:无法使用从远程表中选择的LOB定位符”。因为20KB有效,而35KB无效) 我为此参数使用OracleDbType.Blob。 谢谢。 有任何想法吗?     
已邀请:
我最终使用了第二个连接,同步了两个事务,以便始终共同执行提交和回滚。我还最终认为,通过dblink处理BLOB存在一个普遍的问题,因此第二个连接是一个更好的选择,尽管在我的情况下,我的应用程序设计略有中断-需要同时引入第二个连接和第二笔交易。另一种选择是尝试使用PL / SQL块和某种形式的DBMS_LOB.WRITEAPPEND将blob插入32k的块中,但这将需要对我的代码进行更深入的更改(对于我而言),因此我选择了更简单,更简单的方法。更直接的第一个解决方案。     

要回复问题请先登录注册