我有数据库名称。我需要获取数据库资源。如何?我看到的一种选择是执行Config.Databases:List
查询并遍历结果,直到找到所需的名称。之后通过路径打开数据库并获取资源。
问问题
172 次
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 回答