0

我有一个与此主题相关的查询: https ://developer.jboss.org/thread/277610

在到达逗号分隔值阶段之前,这些值实际上存储为一个 blob。有一个函数 fetchBlobtoString(Blob, string, VARIADIC start_end integer) 返回 String,它实际上接受 blob 输入,然后转换为逗号分隔的值,如帖子所示。

这个问题是字符串被限制为 4000 个字符,因此它会抽取数据并且不会显示所有值。提取双精度值并将其转换为类似于帖子的行的最佳方法是什么。

使用以下函数作为示例,将其转换为对象而不是字符串会提高性能:

fetchElementValueFromBlob(protobufBlob Blob, origName string) 返回对象

我曾尝试使用 getItem 函数迭代 blob 中的项目,添加到临时表,但速度很慢,如果我进行超过 15-20 次迭代,则会出现以下错误:

错误:TEIID30504 远程 org.teiid.core.TeiidProcessingException:TEIID30504 petrelDS:TEIID60000 javax.resource.ResourceException:IJ000453:无法获取 java:/petrelDS SQLState 的托管连接:50000 错误代码:30504

BEGIN
  DECLARE integer VARIABLES.counter = 0;
  DECLARE integer VARIABLES.pts = 100;
  WHILE (VARIABLES.counter < VARIABLES.pts)
   BEGIN
    select wellbore_uwi,getItem(fetchBlob(data, 'md'),VARIABLES.counter) INTO TEMP from DirectionalSurvey where wellbore_uwi='1234567890'; 
    VARIABLES.counter = (VARIABLES.counter + 1);
   END
SELECT TEMP.wb_uwi,TEMP.depth  FROM TEMP;
END

如果我删除 getItem() 函数,错误就会消失。

4

0 回答 0