Intersystems Cache - Callin API入门

时间:2012-09-21 14:38:12

标签: intersystems-cache intersystems

我想使用callin API开发C客户端代码。

我编写了连接到Cache的代码。但是,当我调用它时,我得到......

Instance is not running
Start status = -1

我猜我错过了一个环境变量来识别我的默认Cache实例,但我在Cache文档中找不到对它的引用。

我有一个基于Suse的安装。我可以在同一个shell中使用“csession CACHE”开始csession。

任何帮助?

代码如下......

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 */
}

1 个答案:

答案 0 :(得分:2)

您需要在启动之前设置缓存目录... CacheSetDir(“/ opt / cache / mgr”);