Star知识成长的老家

一个优秀的人,需要具备多方面的知识!

用户操作
[即时聊天] [发私信] [加为好友]
zhangstarID:fish_zhang
31330次访问,排名3772好友2人,关注者2
企业管理等,数据库,软件开发,网站开发
fish_zhang的文章
原创 64 篇
翻译 0 篇
转载 107 篇
评论 2 篇
fish_zhang的公告
本博客内容大多来自网络,方便自己所用,如有雷同请多多包涵!!
最近评论
psnccs:WoW Gold
王中义:楼主太厉害了
文章分类
收藏
    相册
    chenhui530的专栏
    DDD
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用C++库连接Oracle, MS SQL, MySQL等数据库 收藏

    新一篇: rman的备份 | 旧一篇: Oracle SQL性能优化技巧大总结

    最近在网上找到一个好东西SQLAPI++,它是可以访问多个SQL数据库(Oracle, SQL Server, DB2, Sybase, Informix, InterBase, SQLBase, MySQL, PostgreSQL)C++库。SQLAPI++直接调用本地目标数据库管理系统(DBMS)的API(不像ADO一样使用OLEDB and/or ODBC 中间层)。SQLAPI++库扮演了一个中间件以间接方便访问数据库的角色,这就是为什么SQLAPI++是访问数据库最快的方法。在开发和发布您的应用程序时不再需要安装和配置OLEDB and/or ODBC的驱动。
    SQLAPI支持的开发平台有Microsoft Visual C++,Borland C++ Builder,Gun Project C and C++ Compiler。

    示例代码如下:
    #include <stdio.h>  // for printf
    #include <SQLAPI.h> // main SQLAPI++ header

    int main(int argc, char* argv[])
    {
        SAConnection con; // 连接数据对象
        SACommand cmd(
            &con,
            "Select fid, fvarchar20 from test_tbl"); // 命令对象,其中包含了一个查询语句,//你在测试的时候可以根据需要修改它。
    // 本文转自 C++Builder 研究 - http://www.ccrun.com/article.asp?i=1020&d=ssoqrd
       
        try
        {       
            // 连接数据库
            // 在这个例程中连接的是Oracle数据库,
            // 当然它也可以连接 Sybase, Informix, DB2
            // SQLServer, InterBase, SQLBase and ODBC
            con.Connect("test""tester""tester", SA_Oracle_Client);

            // 执行查询语句
            cmd.Execute();
            // 显示查询后的结果
            while(cmd.FetchNext())
            {
                printf("Row fetched: fid = %ld, fvarchar20 = '%s'\n"
                    cmd.Field("fid").asLong(),
                    (const char*)cmd.Field("fvarchar20").asString());
            }

            // 提交当前事务
            con.Commit();

            printf("Rows selected!\n");
        }
        catch(SAException &x)
        {
            // 异常处理
            try
            {
                // 退出当前事务
                con.Rollback();
            }
            catch(SAException &)
            {
            }
            // 显示错误信息
            printf("%s\n", (const char*)x.ErrText());
        }
       
        return 0;
    }
    SQLAPI++的官方网站是www.sqlapi.com,它提供评估版本给客户测试。可惜评估版本的库文件在连接数据库成功后,会弹出一个MessageBox对话框。我在测试它的时候觉得很烦,便把它破解掉了,如果需要可以到我的个人网站去下载它www.szsmart.net,不过只提供BCB的破解版本。
     

    发表于 @ 2007年10月19日 22:32:00|评论(loading...)|编辑

    新一篇: rman的备份 | 旧一篇: Oracle SQL性能优化技巧大总结

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © fish_zhang