Intersystemscaché - 使用.net读取全局变量 - c#

时间:2015-02-18 08:09:57

标签: c# odbc intersystems-cache

有什么方法可以使用.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做,但我需要访问另一个具有不同全局名称和索引名称的全局变量,所以我需要在运行时定义数据结构)

由于

1 个答案:

答案 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