• C语言连接达梦数据库


    使用C语言在Windows使用ODBC连接达梦数据库

    要求:在Windows上配置好ODBC

    编译工具:devc++

    在dev工具中找到工具à编译选项à编译器

    在框中填写-lodbc32

     

    #include <stdio.h>

    #include <windows.h>

    #include <sql.h>

    #include <sqltypes.h>

    #include <sqlext.h>

     

    /* 检测返回代码是否为成功标志,当为成功标志返回 TRUE,否则返回 FALSE */

    #define RC_SUCCESSFUL(rc) ((rc) == SQL_SUCCESS || (rc) == SQL_SUCCESS_WITH_INFO)

    /* 检测返回代码是否为失败标志,当为失败标志返回 TRUE,否则返回 FALSE */

    #define RC_NOTSUCCESSFUL(rc) (!(RC_SUCCESSFUL(rc)))

     

    HENV henv;/* 环境句柄 */

    HDBC hdbc;/* 连接句柄 */

    HSTMT hsmt;/* 语句句柄 */

    SQLRETURN sret; /* 返回代码 */

     

    int main(void)

    {

    /* 申请一个环境句柄 */

    SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv);

    /* 设置环境句柄的 ODBC 版本 */

    SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3,

    SQL_IS_INTEGER);

    /* 申请一个连接句柄 */

    SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

     

    sret = SQLConnect(hdbc, (SQLCHAR *)"DM8_ODBC", SQL_NTS, (SQLCHAR *)"SYSDBA", SQL_NTS, (SQLCHAR *)"SYSDBA", SQL_NTS);

    if (RC_NOTSUCCESSFUL(sret)) {

    /* 连接数据源失败! */

    printf("odbc: fail to connect to server! ");

    SQLFreeHandle(SQL_HANDLE_DBC, hdbc);

    SQLFreeHandle(SQL_HANDLE_ENV, henv);

    exit(0);

    }

    printf("odbc: connect to server success! ");

        SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hsmt);

    //    插入数据

        sret = SQLExecDirect(hsmt, (SQLCHAR *) "insert into SYSDBA.T1 VALUES(1,'A','K','G');", SQL_NTS);

    if (RC_NOTSUCCESSFUL(sret)) {

    printf("odbc: insert fail ");

    }

    else

        printf("odbc: insert success ");

     

    /* 断开与数据源之间的连接 */

    SQLDisconnect(hdbc);

    /* 释放连接句柄 */

    SQLFreeHandle(SQL_HANDLE_DBC, hdbc);

    /* 释放环境句柄 */

    SQLFreeHandle(SQL_HANDLE_ENV, henv);

    return 0;

    }

     

  • 相关阅读:
    配合网页滚屏播放,做解说词
    @enable跟@import注解
    组合注解与元注解
    Spring Aware
    https的设计原理
    用信鸽来解释 HTTPS
    http三次握手四次挥手
    一致性哈希
    redis cluster原理
    redis cluster集群搭建
  • 原文地址:https://www.cnblogs.com/hong-yf/p/14764964.html
Copyright © 2020-2023  润新知