odbc连接mysql数据库的使用详解(odbcmysql)
ODBC(Open Database Connectivity,开放数据库连接)是一种跨编程语言和操作系统的数据库连接技术,它允许系统在不同的应用中存取和管理数据库技术无关的信息——通过一个定义接口来实现这个目标。所有ODBC能够支持的数据库驱动程序都支持ODBC标准。Mysql作为一种开源数据库系统,也支持ODBC技术,此文旨在介绍如何使用ODBC来连接Mysql数据库。
首先,需要安装MySQL ODBC驱动程序。在网上可以找到最新的ODBC驱动程序,下载后安装即可。安装完成后,在控制面板里可以看到ODBC的管理控制台。其次,开始接着步骤,打开 ODBC 管理窗口 点击 “添加”,勾选 “MySQL ODBC 8.0 ANSI Driver”,点击”完成”
接下来,我们需要在新窗口里输入数据源名称,数据库连接信息,用户名等信息,如下图所示:
![](https://img-blog.csdnimg.cn/20200619210054425.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNjc3Njkw,size_16,color_FFFFFF,t_70)
点击“完成”,界面提示创建新源成功。然后,使用下面的代码连接到MySQL数据库:
“`cpp
#include
#include “sql.h”
#include “sqlext.h” //#include 相关的MySQL支持头文件
SQLHENV env; //环境句柄(环境句柄,服务器句柄,连接句柄,语句句柄)
SQLHDBC conn;
SQLHSTMT stmt;
SQLCHAR user[128] = “root”; //数据库用户名
SQLCHAR password[128]=”123456″; // 数据库密码
SQLCHAR sourceName[128]=”mysql”; // 连接字符串
int connectMySQL(void)
{
// 申请环境句柄
if(SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&env)!=SQL_SUCCESS)
{
cout
return 0;
}
// 配置 MySql环境句柄
if(SQLSetEnvAttr(env,SQL_ATTR_ODBC_VERSION,(SQLPOINTER *)SQL_OV_ODBC3,SQL_IS_UINTEGER)!=SQL_SUCCESS)
{
cout
return 0;
}
// 申请连接句柄
if(SQLAllocHandle(SQL_HANDLE_DBC,env,&conn)!=SQL_SUCCESS)
{
cout
return 0;
}
// 建立连接
if(SQLConnect(conn,sourceName, SQL_NTS, user, SQL_NTS, password, SQL_NTS)!=SQL_SUCCESS)
{
cout
return 0;
}
// 申请执行句柄
if(SQLAllocStmt(conn,&stmt)!=SQL_SUCCESS)
{
cout
return 0;
}
return 1;
}
最后,简单说明:MySQL ODBC接口函数中SQLAllocHandle()、SQLSetEnvAttr()、SQLConnect()等均位于SQLEx16.h,SQLAllocStmt()位于SQL.h文件中。以上就是ODBC连接MySQL的使用详解,熟练使用ODBC可以应用于更多的数据库,从而方便跨平台系统的应用。