【问题标题】:insert blob via odp.net through dblink size limitations通过 odp.net 通过 dblink 大小限制插入 blob
【发布时间】:2011-08-05 14:57:50
【问题描述】:

我正在使用 ODP.NET(版本 2.111.7.0)和 C#、OracleCommand 和 OracleParameter 对象以及 OracleCommand.ExecuteNonQuery 方法

我想知道是否有一种方法可以通过 DB 链接将大字节数组插入到驻留在另一个数据库中的 oracle 表中。我知道通过 DB 链接处理 lob 通常是有问题的,但我有点犹豫修改代码和添加另一个连接。

创建一个以 blob 作为参数并通过 dblink 进行内部对话的存储过程会有什么不同吗?不这么认为..

我目前的情况是,只要我通过 OracleCommand 传递的参数是长度为 0 或长度 > 32KB 的字节数组(我怀疑,因为 20KB 有效,35KB 无效)

我使用 OracleDbType.Blob 作为这个参数。

谢谢。

有什么想法吗?

【问题讨论】:

    标签: blob odp.net dblink


    【解决方案1】:

    我最终使用了第二个连接,同步了两个事务,以便始终共同执行提交和回滚。我最终实际上还认为通过 dblink 处理 BLOB 存在一个普遍问题,因此第二个连接是一个更好的选择,尽管在我的情况下,我的应用程序的设计略有中断 - 需要同时引入第二个连接和第二个连接交易。另一个选择是尝试使用 PL/SQL 块和某种形式的 DBMS_LOB.WRITEAPPEND 将 blob 插入 32k 的块中,但这需要对我的代码进行更深入的更改(在我的情况下),因此我选择了更简单和更直接的第一个解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      • 2020-04-21
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      相关资源
      最近更新 更多