• [Domino]从嵌入另一个数据库嵌入的Embedded View无法正常显示,提示unable to lauch


    发现问题

    1. 项目中需要在一个数据库中插入另一个数据库的Embedded View,使用起来十分费劲,在选择数据库的下拉菜单中经常会找不到目标数据库:

    2. 在做日文版的时候,从workbench导出数据库之后,发现前面插入的Embedded View,无法正常显示,提示unable to launch。用Designer打开的时候发现点击这个Embedded View就会弹框,然后就不能点击该Form里面任何东西,很难选中。

    分析原因&解决问题

    1. Google了一下第一个问题,只要在Designer里面先打开被引用的数据库(view实际所在的数据库),再添加Embedded View,就会在数据库列表中出现被引用数据库。

    2. 一开始尝试在重新导出数据库之后,删掉Embedded View再重新添加,可以解决这个问题。

    但是每次导出数据库之后都要这么操作一下有些麻烦,我就很奇怪他这个Embedded View到底是通过什么方式去连到另一个数据库的。网上一些说法说是现在domino目录、data目录、相同路径下查找,测试了一下,觉得都不靠谱,因为不管把被引用数据库copy到哪里,根本就还是提示unable to lauch。

    最后终于找到一个方法,用Designer打开数据库,在左边的form列表中,右键点击包含Embedded View的那个form,选择“Edit with DXL”,这时候会将这个form用XML的格式打开!!搜索了一下关键字“embedded”,果然发现了一些有用的东西:

    发现里面有个名为database的属性,这一串字符串肯定是跟被引用数据库有关的。于是去被引用数据库的属性里面看(未经过workbench导出的原版数据库),发现这个字符串是和Replica ID一样的。

    所以一切就能解释通了:Embedded View是通过Replica ID来找到被引用数据库的,而在做日文版的时候,导出的目标数据库Replica ID肯定是和之前的不一样,所以没法launch。因此重新添加一次Embedded View是可行的,另一个解决方法就是把新导出数据库的Replica ID改成跟导出前一样。

    修改Replica ID通过写程序是可以实现的,我也在网上找到了一个方便的工具:
    http://www.turtleweb.com/turtleweb.nsf/otherpageslookup/toolsandtoys?opendocument
    在这个链接里面找到“Change.nsf”,这就是一个普通的Domino数据库,里面包含了修改Replica ID的agent。

    打开界面如下,第一个空填入要修改的数据库路径,第二个空不用填,第三个空填入想修改的Replica ID的值。

    至此问题全部解决!

  • 相关阅读:
    springboot +mybatis 使用PageHelper实现分页,并带条件模糊查询
    jQuery设置点击选中样式,onmouseover和onmouseout事件
    Ajax跨域设置
    Java获取文章的上一篇/下一篇
    Python str / bytes / unicode 区别详解
    Python bytes 和 string 相互转换
    Python bytearray/bytes/string区别
    Python eval 与 exec 函数区别
    Python eval 与 exec 函数
    Python set list dict tuple 区别和相互转换
  • 原文地址:https://www.cnblogs.com/hiddenfox/p/3392627.html
Copyright © 2020-2023  润新知