• 数据库 Proc编程一


    proc编程
    嵌入式sql:sql写入到C语言程序中
    
    proc编程头文件路径
    appxxxproduct11.2.0dbhome_1precomppublic
    
    proc编程要注意proc编译器也会使用gcc编译器中的头文件,所以需要在proc编译器中进行配置,加上系统的头文件路径
    配置文件路径是:appxxxproduct11.2.0dbhome_1precompadminpcscfg.cfg
    
    
    proc开发流程
    
    1.proc工具预编译 *.pc==>.c
    proc编译选项:parse=full|none(default full for C,others for c++) code=ANSI_C|CPP(default ansi_c)
    C语言编译:proc 源文件 生成文件
    c++编译:proc  源文件 生成文件 parse=none code=cpp
    2.linux下编译gcc -o dm01_hello dm01_hello.c -I/home/oracle_11/app/oracle/product/11.2.0/db_1/precomp/public 
        -L/home/oracle_11/app/oracle/product/11.2.0/db_1/lib  -lclntsh
    --linux查看oracle错误码:oerr ora 错误码
    3.执行应用程序
    
    proc程序结构
    include 头文件(c/c++ and pro*c/c++)
    定义变量
    定义函数
    main
        连接数据库:connect
        SQL操作语句:EXEC SQL...
        处理异常:exception handler
        断开连接:EXEC SQL COMMIT.ROLLBACK WORK release
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "sqlca.h"
    
    //先定义宿主变量(SQL变量)
    EXEC SQL BEGIN DECLARE SECTION;
        char * serverid="scott/123456";
    EXEC SQL END DECLARE SECTION;
    
    void main()
    {
        int ret=0;
        //C语言中使用宿主变量
        printf("serverid=%s
    ",serverid);
        //连接数据库
        EXEC SQL connect:serverid;
        if(sqlca.sqlcode!=0)
        {
            ret=sqlca.sqlcode;
            printf("connect err :%d",ret);
            system("pause");
        }
        printf("connect ok!
    ");
        //提交事务断开连接
        EXEC SQL commit release;
        printf("Oracle closed !
    ");
        system("pause");
    }
  • 相关阅读:
    android安全——Activity劫持的防范程序
    职场怪物品鉴录——北漂18年(54)
    移动端报表JS开发示例--获取定位
    Windows 08 R2_组策略
    Windows 08 R2_组策略
    Corrupted MAC on input at /usr/local/perl/lib/site_perl/5.22.1/x86_64-linux/Net/SSH/Perl/Packet.pm l
    Mojo 自动发布接口
    Windows 08 R2_创建AD DS域服务(图文详解)
    Windows 08 R2_创建AD DS域服务(图文详解)
    Mojo 返回一维和二维数组
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/6275336.html
Copyright © 2020-2023  润新知