Intersystems caché - 使用 .net 在全局中读取变量 - c#
Intersystems caché - read variable in global using .net - c#
有什么方法可以使用 .net/c# 在缓存中不使用 ObjectScript 方法从全局存储在系统间缓存数据库中的所有数据?我在全球范围内有这些数据,例如:
^myGlob("x","y","Dta",1) = "Test 1"
^myGlob("x","y","Dta",2) = "Test 2"
^myGlob("cfg","sd") = "Cfg test 1";
是否可以直接使用 .net 访问此数据?我可以在不调用 ObjectScript 方法的情况下从 c# 执行缓存查询吗?
(我想通过 ODBC 来做,但我需要访问另一个具有不同全局名称和索引名称的全局变量,所以我需要在运行时定义数据结构)
谢谢
是的,您只能在 .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
有什么方法可以使用 .net/c# 在缓存中不使用 ObjectScript 方法从全局存储在系统间缓存数据库中的所有数据?我在全球范围内有这些数据,例如:
^myGlob("x","y","Dta",1) = "Test 1"
^myGlob("x","y","Dta",2) = "Test 2"
^myGlob("cfg","sd") = "Cfg test 1";
是否可以直接使用 .net 访问此数据?我可以在不调用 ObjectScript 方法的情况下从 c# 执行缓存查询吗?
(我想通过 ODBC 来做,但我需要访问另一个具有不同全局名称和索引名称的全局变量,所以我需要在运行时定义数据结构)
谢谢
是的,您只能在 .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