Arrays 错误61无法在已编译的数据库中修改数组类型

Arrays 错误61无法在已编译的数据库中修改数组类型,arrays,web-services,soap,4d-database,Arrays,Web Services,Soap,4d Database,我有一个4D服务器(我们称之为4D服务器1),它通过SOAP web服务将BLOB发送到另一个4D服务器(4D服务器2)。BLOB由数组组成,解析后保存到相应的表中 当BLOB无法解析时,我们会记录到一个表中。显示的错误是: 错误61:无法在已编译的数据库中修改数组类型 如何确定BLOB中的哪个阵列导致错误? 我应该采取什么步骤来解决这个问题?我们将数组和变量作为使用ObjectTools创建的BLOB发送。有更好的(错误)日志记录和处理例程。我们从未损坏过阵列 ObjectTools是一个第

我有一个4D服务器(我们称之为4D服务器1),它通过SOAP web服务将BLOB发送到另一个4D服务器(4D服务器2)。BLOB由数组组成,解析后保存到相应的表中

当BLOB无法解析时,我们会记录到一个表中。显示的错误是:

错误61:无法在已编译的数据库中修改数组类型

如何确定BLOB中的哪个阵列导致错误?

我应该采取什么步骤来解决这个问题?

我们将数组和变量作为使用ObjectTools创建的BLOB发送。有更好的(错误)日志记录和处理例程。我们从未损坏过阵列


ObjectTools是一个第四维插件,它提供了一组允许您创建对象的例程:一个实体,您可以在其中存储和检索任意数量的不同类型的数据。

我们将数组和变量作为使用ObjectTools创建的BLOB发送。有更好的(错误)日志记录和处理例程。我们从未损坏过阵列


ObjectTools是一个第四维插件,它提供了一组允许您创建对象的例程:一个实体,您可以在其中存储和检索任意数量的不同类型的数据。

要提取数组,您需要使用一些BLOB to VARIABLE命令,如下所示:

$vlOffset:=0
BLOB TO VARIABLE($blob;$array1;$vlOffset)
BLOB TO VARIABLE($blob;$array2;$vlOffset)
BLOB TO VARIABLE($blob;$array3;$vlOffset)
$vlOffset将包含Blob内变量的起始位置。 blob的内部结构是: RVLB+类型+变量+类型+变量

因此,您应该尝试检查类型:第一个在位置4,其他在$vlOffset位置:

  • 14实数组
  • 15整数数组
  • 16纵向阵列
  • 17日期数组
  • 18文本数组
  • 19图像阵列
  • 21字符串数组
  • 22布尔数组
  • 39对象阵列

cfr

要提取数组,您正在使用一些BLOB To VARIABLE命令,如下所示:

$vlOffset:=0
BLOB TO VARIABLE($blob;$array1;$vlOffset)
BLOB TO VARIABLE($blob;$array2;$vlOffset)
BLOB TO VARIABLE($blob;$array3;$vlOffset)
$vlOffset将包含Blob内变量的起始位置。 blob的内部结构是: RVLB+类型+变量+类型+变量

因此,您应该尝试检查类型:第一个在位置4,其他在$vlOffset位置:

  • 14实数组
  • 15整数数组
  • 16纵向阵列
  • 17日期数组
  • 18文本数组
  • 19图像阵列
  • 21字符串数组
  • 22布尔数组
  • 39对象阵列
cfr