用C++库连接Oracle,MS SQL,MySQL等数据库

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

SQLAPI Library Crack下载

本文配套源码

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
, 数据库
, 测试
, printf
, mysql cmd $
, mysql 中间件
, 版本
, sqlserver c++builder
, 代码c++配置库
, c++数据库连接
, 一个
, c++连接mysql数据库
, cmd连接mysql
cmd访问mysql
oracle数据库转mysql、mysql到oracle数据库、mysql连oracle数据库、mysql导oracle数据库、oracle数据库与mysql,以便于您获取更多的相关知识。

时间: 2024-10-06 03:44:37

用C++库连接Oracle,MS SQL,MySQL等数据库的相关文章

Oracle\MS SQL Server Update多表关联更新

原文:Oracle\MS SQL Server Update多表关联更新 一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表   一.MS    SQL    Server   多表关联更新      sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来.虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就

利用MS SQL实现异构数据库的分布式查询的t-sql代码

分布式|数据|数据库         /*利用MS SQL实现异构数据库的分布式查询的t-sql代码*/ exec sp_addlinkedserver  'MS_SQL','','SQLOLEDB','172.18.9.20'exec sp_addlinkedsrvlogin 'MS_SQL','false',null,'Sa','capec' /*创建一个sqlserver对sqlserver的数据库远程链接*/ exec sp_addlinkedserver 'ora', 'Oracle'

ms sql server 2005数据库日志文件过大,需要清除或者清空

数据库:ms sql server 2005 任务:ms sql server 2005数据库日志文件过大,需要清除. 方法: backup log [你的数据库名称] WITH NO_LOGbackup log [你的数据库名称] WITH TRUNCATE_ONLYDBCC SHRINKDATABASE([你的数据库名称]) 说明: backup log 指定仅备份事务日志.该日志是从上一次成功执行的 LOG 备份到当前日志的末尾.备份日志之后,可能会截断事务复制或活动事务不再需要的空间.

MS SQL Server分析数据库的I/O性能

系统有的时候响应会明显很慢,有的时候可以是因为访问人数增加导致,有的时候可能因为数据库的磁盘I/O访问次数频繁导致.MS SQL Server提供了一些动态管理视图和函数供我们分析磁盘I/O性能. 1.sys.dm_io_virtual_file_stats SELECT  DB_NAME(vfs.database_id) AS database_name , vfs.database_id , vfs.FILE_ID , io_stall_read_ms / NULLIF(num_of_rea

MS SQL 完全卸载数据库

卸载SQL SERVER 数据库可能很多人都做过,但是我们需要注意,有时候可能没有完全卸载干净.当然SQL SERVER不像ORACLE数据库,卸载不干净也完全可以重新安装,可能会出现安装不成功的情况,那么如何完全卸载数据库呢?下面的操作环境以 WIN2008 + SQL SERVER 2008 R2为例来实验一下: 步骤1: 关闭SQL SERVER的所有服务. 步骤2: 若要开始卸载过程,请从"开始"菜单单击"控制面板",然后双击"程序和功能"

MS SQL SERVER 主从数据库的实现

 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据的查询操作;从库负责查询较旧数据,做一些对实效性要求较小的分析,报表生成的工作.这样做将数据库的压力分担到两台服务器上从而保证整个系统响应的及时性.       SQL Server提供了复制机制来帮我们实现主从库的机制.      实践前需要新创建一个Test的数据库,这个库中建一个测试表.      1. 打开sql server企业管理器,在对象资源管理器里面选择复制->本地发布,右键选择新建发布:      2.

数据库优化实践:MS SQL优化开篇

数据库定义: 数据库是依照某种数据模型组织起来并存在二级存储器中的数据集合,此集合具有尽可能不重复,以 最优方式为特定组织提供多种应用服务,其数据结构独立于应用程序,对数据的CRUD操作进行统一管理和 控制,数据库是数据管理的高级阶段,是在文件系统上发展起来的. 基本结构: 数据库分三个层次:分别为物理数据层.概念数据层.逻辑数据层. 物理数据层:它是数据库的最内层,是物理存贮设备上实际存储的数据的集合.这些数据是原始数据 ,是用户加工的对象,由内部模式描述的指令操作处理的位串.字符和字组成.

利用JDBC连接MS SQL Ser2000+sp2

我在学习j2ee的时候使用jdbc连接过ms sql server 2000,开始的时候一切都正常,但是后来遇到了一个很头痛的问题,就是我们在从表中读取数据放到ResultSet中后,读取列值的时候一定的按照列的顺序读取. 比如如果表中有三列id, name, address,按条件查询得到的结果放到ResultSet中,显示结果时如果这样写代码: java.sql.ResultSet employees; while(employees.next()){ employees.getString

C# Oracle、Sql Server连接(增、删、改、查)

1.连接oracle,并可以将数据库的数据显示在 gridControl上 private void Btn_XS_Click(object sender, EventArgs e) { //写连接串 //ntegrated Security 身份验证方式 //当为false时,将在连接中指定用户ID和密码. //当为true时,将使用当前的Windows帐户凭据进行身份验证. //可识别的值为true.false.yes.no以及与true等效的sspi. string ConnectionS