⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abort.c

📁 ORACLE编程的好东西,纯C写的OCI封装.很好用,支持数据池.
💻 C
字号:
  #include "windows.h"
#include "process.h"
#include "ocilib.h"

/* Example on Microsoft platform */

static HANDLE evt;

void long_oracle_call(void *data)
{
    OCI_Statement *st  = OCI_CreateStatement((OCI_Connection *) data); 
    OCI_Resultset *rs;

    /* execute a query that takes a long time to process */

    OCI_ExecuteStmt(st, "select code, content from huge_table");

    rs = OCI_GetResultset(st);

    while (OCI_FetchNext(rs))
    {
        printf("%i - %s", OCI_GetInt(rs, 1), OCI_GetString(rs, 2));
    }

    SetEvent(evt);
}


int main()
{
   OCI_Connection *cn;

   if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT))
        return EXIT_FAILURE;

    cn = OCI_CreateConnection("db", "usr", "pwd", OCI_SESSION_DEFAULT);
    evt = CreateEvent(0, TRUE, FALSE, 0);

    _beginthread(long_oracle_call, 0, cn);

    if (WaitForSingleObject(evt, 10000) != WAIT_OBJECT_0)
    {
        OCI_Break(cn);
        Sleep(2000);
    }

    OCI_Cleanup();

 
    return EXIT_SUCCESS;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -