我有数据库名称。
我需要获取数据库资源。
怎么样?我看到的一个选项是执行Config.Databases:List
查询并迭代结果,直到找到所需的名称。之后,通过路径打开db并获取资源。
答案 0 :(得分: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,"")
答案 1 :(得分:0)
您可以使用Set dbObj=##class(SYS.Database).%OpenId("USER")
打开数据库,然后将数据库资源设为dbObj.ResourceName
。 SYS.Database docs和Config.Databases docs。