zoukankan      html  css  js  c++  java
  • [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的值。

    至此问题全部解决!

  • 相关阅读:
    go语言实现拉取矿币最新价格等信息
    MySQL 8 主从搭建
    小米11ULTRA偷渡开发版+刷MAGISK+EDXPOSED
    常见插值算法--拉格朗日插值、三次卷积插值、三次样条插值、兰克索斯插值
    Effective Python Ver2.0_StudyNotes_纯属性与修饰器取代旧式的setter与getter方法
    Effective Python Ver2.0_StudyNotes_使用类体系去解决多层嵌套问题
    c# 异步调用 利用委托异步调用
    redis设计与实现-读书笔记
    springboot揭秘-读书笔记
    redis深度历险-读书笔记
  • 原文地址:https://www.cnblogs.com/hiddenfox/p/3392627.html
Copyright © 2011-2022 走看看