ECM eRoom 数据库中数据表项目中的数据保存在哪里?
Where is the data saved, from the Datatable-items, in ECM eRoom-database?
我正在尝试从 ECM eRoom 数据库中检索数据(据我所知,该数据库没有记录)。
我有一个带有自定义 "Database" 的 eRoom,一些字段。
当我查询对象 table 时,我找到 "Database" 行
select * from[dbo].[Objects] where internalId = 1234567
以及条目的行数
select top 10 * from[dbo].[Objects] where parentInternalId = 1234567
但我没有找到任何包含条目值的字段,只有一个包含 NonSearchableProperties.
的列,该列仅包含十六进制数据。
我的问题,
- 我如何检索这些值?
- 是否可以仅通过 SQL 检索它们?
- 最简单的方法是什么?
这不是灵丹妙药,但对我的用例来说没问题
经过长时间的搜索和大量的测试脚本,我找到了一些答案,但可能是由于系统即将停产并且文档不易阅读,这是我的发现。
是否可以仅通过 SQL 检索它们?
据我所知,没有! (如果我错了请指正)
如何检索值?
使用 eRoom API(在服务器上有一些示例程序可以使用 c++ 查询 data/objects \eRoom Server\Toolkit\Samples, , vb, vbscript, ... 有点太多开销), 或者使用 eRoom XML 查询语言(exql)肥皂电话。
最简单的方法是什么?
经过大量测试,在论坛中搜索并使用 soap ui 进行了许多测试。我发现使用 exql 的查询似乎是检索数据的最简单方法,如果 你了解结构。
这里有一些有用的资源:
- (非常)来自制造商的 exql 基本信息 https://eroom.asce.org/eRoomHelp/en/XML_Help/Introduction.htm
(免责声明:我没有发现它有帮助,但它至少展示了一些基础知识)
- short 9 page Developer guide https://developer-content.emc.com/developer/downloads/eRoomXMLCapabilitiesUseCaseProgramDashboard.pdf(第 8 页的最后一个例子,帮助我理解了如何设置查询,有很多幻想)
但要使其正常工作,请不要忘记激活 允许来自外部应用程序的 XML 查询和命令在站点设置中
TIP 1:
you always can go go deeper you just need to know the right xml-element under. <Database>
, <Cells>
and <DBCell>
can help you go deeper
TIP 2:
don't query to much data since this query likely run into timeouts
更新 1:
只是为了节省任何正在查看的人的时间,"query" returns 在 eRoom 根目录中创建的数据库的所有行(属性)。
(别忘了在 Url 中设置 facility 和 room ,虽然可以在查询中设置)
<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>
我正在尝试从 ECM eRoom 数据库中检索数据(据我所知,该数据库没有记录)。
我有一个带有自定义 "Database" 的 eRoom,一些字段。
当我查询对象 table 时,我找到 "Database" 行
select * from[dbo].[Objects] where internalId = 1234567
以及条目的行数
select top 10 * from[dbo].[Objects] where parentInternalId = 1234567
但我没有找到任何包含条目值的字段,只有一个包含 NonSearchableProperties.
的列,该列仅包含十六进制数据。
我的问题,
- 我如何检索这些值?
- 是否可以仅通过 SQL 检索它们?
- 最简单的方法是什么?
这不是灵丹妙药,但对我的用例来说没问题
经过长时间的搜索和大量的测试脚本,我找到了一些答案,但可能是由于系统即将停产并且文档不易阅读,这是我的发现。
是否可以仅通过 SQL 检索它们?
据我所知,没有! (如果我错了请指正)
如何检索值?
使用 eRoom API(在服务器上有一些示例程序可以使用 c++ 查询 data/objects
最简单的方法是什么?
经过大量测试,在论坛中搜索并使用 soap ui 进行了许多测试。我发现使用 exql 的查询似乎是检索数据的最简单方法,如果 你了解结构。
这里有一些有用的资源:
- (非常)来自制造商的 exql 基本信息 https://eroom.asce.org/eRoomHelp/en/XML_Help/Introduction.htm
(免责声明:我没有发现它有帮助,但它至少展示了一些基础知识) - short 9 page Developer guide https://developer-content.emc.com/developer/downloads/eRoomXMLCapabilitiesUseCaseProgramDashboard.pdf(第 8 页的最后一个例子,帮助我理解了如何设置查询,有很多幻想)
但要使其正常工作,请不要忘记激活 允许来自外部应用程序的 XML 查询和命令在站点设置中
TIP 1:
you always can go go deeper you just need to know the right xml-element under.
<Database>
,<Cells>
and<DBCell>
can help you go deeperTIP 2:
don't query to much data since this query likely run into timeouts
更新 1:
只是为了节省任何正在查看的人的时间,"query" returns 在 eRoom 根目录中创建的数据库的所有行(属性)。
(别忘了在 Url 中设置 facility 和 room
<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>