zoukankan      html  css  js  c++  java
  • 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;

    }

     

  • 相关阅读:
    Catalan数(卡特兰数)
    100个乘客登机问题
    [设计模式]抽象工厂模式
    栈-队和队-栈
    java实现字符串反转
    java实现字符串按词反转
    windows上安装maven及eclipse中配置maven
    Windows 10 安装 Docker
    Win7操作系统安装IE10提示“安装前需要更新与安装程序版本”
    解决Jenkins权限配置错误,导致登录时出现没有Overall/read权限
  • 原文地址:https://www.cnblogs.com/hong-yf/p/14764964.html
Copyright © 2011-2022 走看看