ODBC连接MySQL

ODBC连接MySQL(IDE:codeblocks)

1. ODBC概述

ODBC(Open Database Connectivity),开放数据库互连。它为编写关系数据库的客户软件提供了一种统一的接口。ODBC 提供一个标准的 API,可用于处理不同数据库的客户应用程序。使用ODBC API 的应用程序可以与任何具有ODBC驱动程序的关系数据库进行通信。ODBC 是为客户应用程序访问关系数据库时提供的一个标准的接口,对于不同的数据库,ODBC 提供了统一的 API,使用该 API 来访问任何提供了 ODBC 驱动程序的数据库。客户程序,ODBC接口,数据库驱动程序和数据库关系如下:

 ODBC连接MySQL_第1张图片

2. 配置ODBC数据源

我使用C++语言来连接MySQL数据库,IDEcodeblocks,操作系统windows7windows10也是一样的)。连接数据库前需要先配置ODBC数据源。

1)安装MySQLODBC驱动程序

驱动程序下载地址https://dev.mysql.com/downloads/connector/odbc/

如果没有安装VS的话,要下载老版本的32位驱动(新版本需要VS的支持),如下图。接下来只需要安装即可(完全安装)。

 

2)添加ODBC数据源

首先打开ODBC数据源管理器,有两种打开方法

a. 控制面板下打开ODBC

b. 打开文件:C:\Windows\SysWOW64\odbcad32.exe

建议使用第二种方式,第一种方式打开可能无法检测到之前安装的驱动程序。打开后如下所示:

 ODBC连接MySQL_第2张图片

点击添加,选择MySQL ODBC驱动程序。

 ODBC连接MySQL_第3张图片

然后填写如下信息,用户名和密码填写数据库的登录名和密码,数据源名自己自己随意起,TCP/IP Server可以不用填或者填localhost,这里只是连接本地的数据库;点击Details设置编码格式为GBK,这样可以正常显示中文;Database中会自动检测已有的数据库,不过需要先开启MySQL服务(net start mysql),选择你想要连接的数据库。点击完成。

 ODBC连接MySQL_第4张图片

名为test1ODBC数据源创建成功,点击配置可修改配置。

 ODBC连接MySQL_第5张图片

 

3. Codeblocks IDE执行环境配置

codeblocks需要链接如下的dll文件才可以编译通过ODBC编程的各种函数。确保电脑里存在这个文件,否则网上下载。

 ODBC连接MySQL_第6张图片

至此C++通过ODBC连接数据库的所有的环境配置就完成了。接下来就是编码连接数据库。

 

4. 示例程序

1.ODBC连接数据库流程

分配环境句柄→分配连接句柄→连接数据源→分配语句句柄→执行SQL语句→释放语句句柄→断开数据源的连接→释放连接句柄→释放环境句柄。

2. 实例程序说明

#include
#include
#include 
#include
#include 
using namespace std;
main(){
    SQLHENV serverhenv;
    SQLHDBC serverhdbc;
    SQLHSTMT serverhstmt;
    SQLRETURN ret;
    SQLCHAR sno[20]={0},sex[20]={0},sname[20]={0},dept[20]={0},classno[20]={0},bdate[30]={0},cno[20]={0},cname[20]={0},semester[10]={10};
    SQLINTEGER grade=0,length;

    //分配环境句柄
    ret = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&serverhenv);

    //设置环境属性
    ret = SQLSetEnvAttr(serverhenv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
    if(!SQL_SUCCEEDED(ret))
    {
        cout<<"AllocEnvHandle error!"<

程序执行前的course表格

 ODBC连接MySQL_第7张图片

程序执行后添加了“数据结构这门课”

 ODBC连接MySQL_第8张图片

查看数据库发现确实用C++实现了对数据库的操作

 ODBC连接MySQL_第9张图片


你可能感兴趣的:(ODBC连接MySQL)