【问题标题】:Lotus Notes database design unlockLotus Notes 数据库设计解锁
【发布时间】:2013-09-19 16:40:58
【问题描述】:

有没有办法在不使用付费软件的情况下解锁 Lotus Notes 数据库设计?

锁定数据库的人离开了公司,我们没有这个应用程序的任何模板。所以只有解锁这个数据库来开始这个数据库的进一步开发。

【问题讨论】:

  • Notes 数据库文件有 3 种状态。 1:开放式设计的笔记数据库。所有脚本和公式都可以访问。 2:封闭式设计,当没有办法访问数据库时设计。所有脚本和公式都存储为已编译的二进制文件,并且所有源代码都从数据库主体中剥离。 3:半开放式设计。它就像第二种状态,但在数据库头中有一个未锁定标志,允许在设计器中打开这个数据库。但是所有源代码部分都是空的。 Unlocking数据库不会帮你访问源代码。

标签: lotus-notes lotus-domino


【解决方案1】:

您是否已经尝试过 Google 快速推出的 this code

Const APIModule = "NNOTES" ' Windows/32 only
Const REPLFLG_HIDDEN_DESIGN = &H0020

Type ReplicaInfo
ID(1) As Long
Flags As Integer
CutoffDays As Integer
CutoffDate(1) As Long
End Type

Declare Function NSFDbOpen Lib APIModule Alias "NSFDbOpen" _
( Byval P As String, H As Long) As Integer
Declare Function NSFDbClose Lib APIModule Alias "NSFDbClose" _
( Byval H As Long) As Integer
Declare Function OSPathNetConstruct Lib APIModule Alias "OSPathNetConstruct" _
( Byval Z As Long, Byval S As String, Byval F As String, Byval P As String) As Integer
Declare Function NSFDbReplicaInfoGet Lib APIModule Alias "NSFDbReplicaInfoGet" _
( Byval H As Long, R As ReplicaInfo) As Integer
Declare Function NSFDbReplicaInfoSet Lib APIModule Alias "NSFDbReplicaInfoSet" _
( Byval H As Long, R As ReplicaInfo) As Integer

Sub HideDesign(db As NotesDatabase, hide As Variant)
Dim hDB As Long
p$ = Space(256)
OSPathNetConstruct 0, db.Server, db.FilePath, p$
NSFDbOpen p$, hDB

Dim R As ReplicaInfo
NSFDbReplicaInfoGet hDB, R
If hide Then
R.Flags = R.Flags Or REPLFLG_HIDDEN_DESIGN
Else
R.Flags = R.Flags And Not REPLFLG_HIDDEN_DESIGN
End If
NSFDbReplicaInfoSet hDB, R

NSFDbClose hDB
End Sub

【讨论】:

  • 比你帕努!它完美地工作。我想知道当我运行代码时,我也能看到原本不可用的脚本和代理?
  • 你打开它们看到代码了吗?我还没有尝试过这个(幸运的是几乎从来没有遇到过隐藏设计)。
  • @Rishi 我已经尝试过使用代码,但我看不到公式和 LS 代码。
  • @Rishi 你的数据库是什么版本的?
  • @Shelley,我在 Notes 8.5 中试过 .. 是的,有些情况下公式仍然不可用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多