有什么方法可以使用.net / c#在caché中使用.net / c#来存储在intersystemscachédb中的全局数据?我在全球范围内拥有这些数据,例如:
^myGlob("x","y","Dta",1) = "Test 1"
^myGlob("x","y","Dta",2) = "Test 2"
^myGlob("cfg","sd") = "Cfg test 1";
是否可以使用.net直接访问此数据?我可以在没有使用ObjectScript方法调用的情况下从c#执行caché查询吗?
(我想通过ODBC做,但我需要访问另一个具有不同全局名称和索引名称的全局变量,所以我需要在运行时定义数据结构)
由于
答案 0 :(得分:2)
是的,您只能在.Net中使用CachéeXTreme执行此操作 来自documentation的示例。
using System;
using InterSystems.Globals;
class FetchNodes {
public static void Main(String[] args) {
Connection myConn = ConnectionContext.GetConnection();
try {
myConn.Connect("User", "_SYSTEM", "SYS");
NodeReference nodeRef = myConn.CreateNodeReference("myGlobal");
// Read both existing nodes
Console.WriteLine("Value of ^myGlobal is " + nodeRef.GetString());
Console.WriteLine("Value of ^myGlobal(\"sub1\") is " + nodeRef.GetString("sub1"));
nodeRef.Kill(); // delete entire array
nodeRef.Close();
myConn.Close();
}
catch (GlobalsException e) { Console.WriteLine(e.Message); }
} // end Main()
} // end class FetchNodes