2

我有数据库名称。我需要获取数据库资源。如何?我看到的一种选择是执行Config.Databases:List查询并遍历结果,直到找到所需的名称。之后通过路径打开数据库并获取资源。

4

2 回答 2

2

如果您只有数据库的名称,您应该在获取目录之前,因为 SYS.Database 仅适用于目录路径。

set dbName="TEST"
if ##Class(Config.Databases).Exists(dbName,.dbconfobj) {
  Set dbObj=##class(SYS.Database).%OpenId(dbconfobj.Directory)
  Set resourceName = dbObj.ResourceName
}

数据库目录也可以通过这种方式获得

if ##Class(Config.Databases).Get("TEST1",.props) {
  write $get(props("Directory"))
}

或当前命名空间的默认数据库目录

set directory=$zu(12,"")
于 2016-01-21T14:01:30.157 回答
0

您可以使用打开数据库,Set dbObj=##class(SYS.Database).%OpenId("USER")然后将数据库资源作为dbObj.ResourceName. SYS.Database 文档Config.Databases 文档

于 2016-01-21T13:40:55.513 回答