欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > ubuntu22.04 安装ODBC驱动-达梦-mysql

ubuntu22.04 安装ODBC驱动-达梦-mysql

2025/4/19 10:02:22 来源:https://blog.csdn.net/aggie4628/article/details/147072472  浏览:    关键词:ubuntu22.04 安装ODBC驱动-达梦-mysql

现在用非root用户





1ODBC+mySql+达梦+SqlServer


 

1.1ODBC

 

https://eco.dameng.com/document/dm/zh-cn/start/C_C++_development.html#%E9%80%9A%E8%BF%87%20ODBC%20%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%931.ODBC安装
1.1下载文件 并解压
tar -zxvf unixODBC-2.3.12.tar.gz -C /home/tangcj/Downloads/ODBC1.2.编译安装
cd unixODBC-2.3.12./configure --prefix=/usr/local/unixODBC --sysconfdir=/etc  # 配置unixODBC的安装路径为/usr/local/unixODBC
make && make install1.3编译后查找配置文件位置
odbcinst -j  在麒麟系统下可以,但在ubuntu下 odbcinst -j 说没有安装1.3 验证ODBC是否安装成功?
odbc_config --version  ubuntu下没有这个命令
odbcinst -jsudo apt update
sudo apt install unixodbc unixodbc-dev  odbcinst 



1.2.达梦
 


https://eco.dameng.com/document/dm/zh-cn/start/install-dm-linux-prepare.html
1.安装DMunzip [选项] 压缩文件名 -d 解压目录
unzip dm8_20250117_x86_rh6_64.zip -d /opt
mount -o loop dm8_20250117_x86_rh6_64.iso /mnt验证安装2.让环境认识ODBC 配置环境变量 
vim ~/.bashrc 
export ODBCDM_HOME=/usr/local/unixODBC
export PATH=$ODBCDM_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ODBCDM_HOME/lib:$LD_LIBRARY_PATH
source ~/.bashrc 3.ODBC配置DM数据库驱动。3.1 /etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description     = ODBC DRIVER FOR DM8
Driver          =  /home/tangcj/dmdbms/bin/libdodbc.so3.2 /etc/odbc.ini
[dm8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = 192.168.9.97
UID = SYSDBA
PWD = Int@4001093999
TCP_PORT = 52363.3 验证:用安装数据库的用户名 
su - tangcj
isql  dm8



1.3.mysql
 

1.安装sudo apt-get install libmyodbcsudo apt install mysql-server -y2.MySQL 服务并使其在系统启动时自动启动
sudo systemctl start mysql
sudo systemctl enable mysql3. 配置一下 安全设置
sudo mysql_secure_installation
y4.查看状态  
systemctl status mysql.service
CTRL+C结束5.验证:
sudo mysql -u root -p
输入root用户密码 INT@40010939996.设置远程登陆use mysql;
select host,user from user; 
update user set host='%' where user='root';
select host,user from user;                  #不能少,否则会出现执行错误
alter user 'root'@'%' identified with mysql_native_password by 'INT@4001093999';select host,user from user;
flush privileges;
exit;查看/etc/mysql/mysql.conf.d/mysqld.cnf
修改绑定地址:由127.0.0.1 到0.0.0.0重启服务
systemctl restart mysql
systemctl status mysqlapt-get install net-tools验证服务:
telnet localhost 3306
telnet 192.168.9.25 3306复制文件libsqlmysql.so 到插件目录下
=/home/tangcj/Qt5.12.1/5.12.1/gcc_64/plugins/sqldrivers/2.配置ODBC 驱动
/etc/odbcinst.ini [MySQL]Description=MySQL ODBC 8.0 DriverDriver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc8a.so3.配置 ODBC 数据源
/etc/odbc.ini[MySQL]Description=MySQL DSNDriver=MySQLServer=your_server_addressPort=3306Database=your_database_nameUser=your_usernamePassword=your_password4.验证连接isql MySQL your_username your_password -v

1.4 sqlserver

 

 
系统安装
Ubuntu:在 Linux 上安装 SQL Server - SQL Server | Microsoft Learn

#1.验证是否安装好
systemctl status mssql-server --no-pager#2.打开防火墙和1433端口
sudo ufw status  #查看防火墙状态
sudo ufw enable  #开启防火墙
sudo ufw disable #关闭防火墙
sudo ufw reload  #重启防火墙
sudo ufw allow  1433/tcp           #开放规定协议的指定端口
sudo ufw delete allow 8000/tcp     #关闭8000端口的tcp协议
批量开放规定协议的指定端口(开放1-65535端口的tcp协议,需重启防火墙生效)
sudo ufw allow 1:65535/tcp
批量关闭规定协议的指定端口(关闭1-65535端口的tcp协议,需重启防火墙生效)
sudo ufw delete allow 1:65535/tcpsqlcmd -S 192.168.9.25 -U sa -P 'INT@4001093999' -C
sqlcmd:未找到命令

2.QT
 

chmod a+x qt-opensource-linux-x64-5.12.12.run
./qt-opensource-linux-x64-5.12.12.run1.安装包
sudo apt-get install build-essential                 #1.基础编译工具
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev #2.openGL
sudo apt-get install libx11-dev libxext-dev libxt-dev libxi-dev libxrandr-dev libxrender-dev  libgl-dev                         #3.X11 和窗口系统依赖
sudo apt install libfontconfig1-dev libfreetype-dev    #4.字体和文本渲染依赖
sudo apt install libpulse-dev libasound2-dev           #5.多媒体依赖
sudo apt install libmysqlclient-dev                    #6.数据库依赖
sudo apt install libssl-dev                            #7.SSL 和网络依赖
sudo apt-get install libxcb-cursor0
sudo apt-get install libtinfo5
sudo apt-get install make-guile
sudo snap install cmake --classic2.修改环境变量vim ~/.bashrcexport QTDIR=/home/tangcj/Qt5.12.12/5.12.12/gcc_64  # Qt 主程序路径  
export PATH=$QTDIR/bin:$PATH    
export QT_PLUGIN_PATH=/home/tangcj/Qt5.12.12/5.12.12/gcc_64/plugins/sqldrivers/  # Qt 插件路径(如数据库驱动)
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH   
# 动态库路径(解决运行时依赖缺失问题)  
source ~/.bashrc验证
qmake -v
echo $PATH           # 查看 Qt 主程序路径是否包含在 PATH 中  
echo $QT_PLUGIN_PATH # 确认插件路径正确 


尽量把.so放在 usr/lib/x86_64-linux-gnu,QTCreator用的是系统环境变量。



3.程序测试

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtSql/QSqlDatabase>
#include <QDebug>
#include <QMessageBox>
#include <QtSql/QSqlError>
#include <QtSql/QSqlQuery>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);qDebug()<<QSqlDatabase::drivers();// 创建数据库连接QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost");      // MySQL 主机名db.setDatabaseName("testdb");     // 数据库名db.setUserName("root");           // 用户名db.setPassword("123@1234");       // 密码// 尝试连接if (!db.open()) {qDebug() << "Failed to connect to database:" << db.lastError().text();//return -1;}qDebug() << "Connected to MySQL database!";// 执行一个简单的查询QSqlQuery query;if (query.exec("SELECT VERSION()")) {if (query.next()) {qDebug() << "MySQL Version:" << query.value(0).toString();}} else {qDebug() << "Query failed:" << query.lastError().text();}// 关闭数据库连接db.close();
}







 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词