2012-09-21 59 views
1

我想使用callin API开发C客户端代码。Intersystems缓存 - Callin API入门

我写了代码连接到缓存。然而,当我调用它,我得到...

Instance is not running 
Start status = -1 

我猜测,我缺少一个环境变量,以确定我的默认缓存实例,但我找不到缓存文档中一个参考。

我有一个基于Suse的安装。我可以在同一个shell中使用“csession CACHE”启动会话。

任何帮助?

代码如下....

static void * 
mstart(void) { 
    int status = 0; 
    if (! gInitialised) { 
     CACHE_ASTR prinp, prout, exename; 

     prinp.len = prout.len = 0; 
     prinp.str[0] = prout.str[0] = '\0'; 
     strcpy((char *)exename.str, "vavista.cache"); 
     exename.len = strlen((const char *)exename.str); 

     status = CacheSecureStartA(
      NULL,        /* User */ 
      NULL,        /* Password */ 
      &exename,       /* Application Id */ 
      CACHE_PROGMODE | CACHE_TTNEVER, /* Flags */ 
      0,        /* timeout */ 
      &prinp,      /* Principal input device */ 
      &prout);      /* Principal output device */ 
     printf("Start status = %d\n", status); 
     atexit(mstop); 
    } 
    return (void *)1; /* Success */ 
} 
+0

我工作过。我需要在开始之前设置缓存目录... CacheSetDir(“/ opt/cache/mgr”); –

回答

2

您需要在开始之前设置缓存目录... CacheSetDir( “/选择/缓存/经理”);