Flexus 云服务 X 实例安装 ODBC 驱动,在 ODBC 中建立 MySQL 数据库连接,通过 QT 连接云数据库

宙斯科技 后端 2025-01-01


迎来华为云 828 B2B 企业节,Flexus X 实例现正享受超值优惠。该实例为用户提供强劲的算力,完美支持自建 MySQL、Redis、Nginx 等高性能应用。除了价格优惠,活动期间还有专业团队提供一对一咨询服务,帮助企业优化资源配置,提升运营效率。机会难得,快来参与,享受更高效的云服务体验!链接直达:华为云Flexus云服务器X实例

 

4 核 12G-100G-3M 规格的 Flexus X 实例使用测评第 2 弹:Flexus 云服务 X 实例安装 ODBC 驱动,在 ODBC 中建立 MySQL 数据库连接,通过 QT 连接云数据库

 

什么是 Flexus 云服务器 X 实例

官方解释:

Flexus 云服务器 X 实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。相较于 Flexus 应用服务器 L 实例,Flexus 云服务器 X 实例的优势包含:提供丰富的公共镜像、可灵活自定义 vCPU 内存配比、智能感知业务动态升降配,负载范围更高等。

 

连接本地 MySQL

 

1.首先下载 MySQL 的 ODBC 驱动

 

MySQL :: Download Connector/ODBC

首先在 MySQL 的官网上下载 ODBC,我这里选择第一个,64 位的安装包;

 

 

下载完成后,点击运行,进行 ODBC 的安装

 

2.启动运行,创建用户数据源

通过控制台命令启动 ODBC 数据源管理程序,添加 ODBC ANSI 驱动;注意这里的 datasourcename 需要用到!!!

 

cd \Windows\SysWOW64odbcad32.exe

 

 

注意这里的 Data Source Name 后面在 qt 中需要用到

 

 

点击 test,测试连接是否成功

 

 

注意上面的 Data Source Name 在后面的 qt 中建立 Mysql 连接时需要用到;

 

 

补充:ANSI 版和 Unicode 版

ODBC(开放数据库连接)驱动程序有两种版本:ANSI 版和 Unicode 版。它们之间的主要区别在于它们处理字符串数据的方式。

ANSI 版 ODBC

· 字符编码:ANSI 版 ODBC 使用本地操作系统的默认字符编码。例如,在 Windows 上,它通常使用 Windows-1252 或其他基于系统区域设置的编码。

· 函数后缀:ANSI 版 ODBC 函数通常以 A 结尾。例如,SQLConnect 的 ANSI 版本是 SQLConnectA。

· 字符类型:ANSI 版 ODBC 函数使用 char 类型来处理字符串。

· 兼容性:适用于那些只需要处理单字节字符集(SBCS)或双字节字符集(DBCS)的应用程序。

Unicode 版 ODBC

· 字符编码:Unicode 版 ODBC 使用宽字符编码(例如 UTF-16)。这使得它能够处理多种语言和字符集。

· 函数后缀:Unicode 版 ODBC 函数通常以 W 结尾。例如,SQLConnect 的 Unicode 版本是 SQLConnectW。

· 字符类型:Unicode 版 ODBC 函数使用 wchar_t 类型来处理字符串。

· 兼容性:适用于需要处理多字节字符集(MBCS)和各种语言的应用程序。

比较与选择

选择使用 ANSI 版还是 Unicode 版 ODBC 取决于你的应用程序的需求:

· 字符集需求:如果你的应用程序只需要处理 ASCII 或单字节字符集,ANSI 版可能就足够了。如果需要处理多语言或多字符集,Unicode 版是更好的选择。

· 兼容性:某些老旧的系统和数据库可能仅支持 ANSI 版 ODBC。如果你的应用程序需要与这些系统兼容,使用 ANSI 版可能会更好。

· 国际化:如果你的应用程序需要国际化支持(如处理不同语言的字符),建议使用 Unicode 版。

 

3.qt 代码连接

 

如何连接华为云服务器中的 MySQL

 

1.在 Centos 中安装 Linux 版本的 ODBC 驱动

 

通过以下命令安装 Linux 版本的 ODBC 驱动

 

sudo yum install mysql-connector-odbc

 

2.在 ODBC 连接管理器中建立和华为云的链接

和本地 MySQL 的链接类似,这里需要先通过 ODBC 建立和华为云中数据库的连接;然后 QT 访问 ODBC,进而对云数据库进行相关操作

 

 

3.qt 代码通过 ODBC 连接华为云

 

报错解决:Access denied for user 'root@localhost'

 

 

这里我们需要修改权限,允许其他 ip 通过 root 用户访问 MySQL

 update user set Host='%' where User='root';

 

 

flush privileges;flush hosts;

 

 


总结

 

4 核 12G-100G-3M 规格的 Flexus X 实例使用测评第 2 弹:Flexus 云服务 X 实例安装 ODBC 驱动,在 ODBC 中建立 MySQL 数据库连接,通过 QT 连接云数据库

Apipost 私有化火热进行中

评论