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;

    }

     

  • 相关阅读:
    linux ubuntu系统安装及卸载oracle xe11.2.0
    32位和64位的应用软件区别是什么
    在Ubuntu Server下安装Oracle XE
    虚拟化系列Citrix XenServer 6.1 安装与配置
    Oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子
    敏捷开发资料站推荐
    win7中竟然没有telnet.exe??
    Eclipse+Tomcat+Ant 小记
    为已有的web project项目加入maven支持,并使用myeclipse的插件.
    .NET性能优化数据库方面的总结
  • 原文地址:https://www.cnblogs.com/hong-yf/p/14764964.html
Copyright © 2011-2022 走看看