2

我正在尝试从 ECM eRoom 数据库中检索数据(据我所知,该数据库没有记录)。

我有一个带有自定义“数据库”和一些字段的 eRoom。
eroom 数据库图标

当我查询对象表时,我发现“数据库”
select * from[dbo].[Objects] where internalId = 1234567

截图数据库表结果

和条目的行
select top 10 * from[dbo].[Objects] where parentInternalId = 1234567

截图数据库表结果

但我没有找到任何包含条目值的字段,只有一个带有 的 Column NonSearchableProperties.,它只有 Hex 数据。

截图数据库表结果

我的问题,

  • 我怎样才能检索值?
  • 是否可以仅使用 SQL 检索它们?
  • 最简单的方法是什么?
4

1 回答 1

2

这不是灵丹妙药,但对我的用例来说没问题

经过长时间的搜索和大量测试脚本,我找到了一些答案,但可能是由于系统即将报废并且文档不易阅读,这是我的发现。

是否可以仅使用 SQL 检索它们?
据我所知,没有! (如果我错了请纠正我)

我怎样才能检索值?
使用 eRoom API(在服务器上有一些示例程序可以查询数据/对象<installation-path>\eRoom Server\Toolkit\Samples,使用 c++、vb、vbscript ......所有开销都很大),或使用 eRoom XML 查询语言 ( exql ) 通过肥皂调用。

最简单的方法是什么?
经过大量测试,在论坛中搜索并使用soap ui进行了许多测试。我发现如果您了解结构,使用exql进行查询似乎是检索数据的最简单方法 这里有一些有用的资源:

但要使其正常工作,请不要忘记在站点设置中激活允许来自外部应用程序的 XML 查询和命令


屏幕截图 网站设置

提示 1:

你总是可以更深入,你只需要知道正确的 xml 元素。<Database><Cells>并且<DBCell>可以帮助你更深入

提示 2:

不要查询太多数据,因为此查询可能会超时

更新 1:
为了节省任何正在查看的人的时间,此“查询”返回在 eRoom 根目录中创建的数据库的所有行(属性)。

(不要忘记在 URL ex. http://server/eroomxml/facilities/ TEST /Rooms/ TestRoom中设置设施房间,尽管它可以在查询中设置)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:er="http://www.eroom.com/eRoomXML/2003/700">
   <soapenv:Header/>
   <soapenv:Body>
      <er:ExecuteXMLCommand>
         <er:eRoomXML>
            <er:command er:select="HomePage/Items">
                <er:getproperties>
                    <er:Item>
                        <Database>
                            <Rows>
                                <Item>
                                    <Cells>
                                        <DBCell>
                                            <Content>
                                            </Content>
                                        </DBCell>
                                    </Cells>
                                </Item>
                            </Rows>
                        </Database>
                   </er:Item>
                </er:getproperties>
             </er:command>
         </er:eRoomXML>
      </er:ExecuteXMLCommand>
   </soapenv:Body>
</soapenv:Envelope>
于 2015-11-20T21:43:05.440 回答