一.DM8安装
龙芯3a5000+kylin10
1.创建用户和组
#创建安装用户和用户组
sudo groupadd dm
sudo useradd -g dm -m -d /home/dmdba -s /bin/bash dmdba
#修改dmdba密码
sudo passwd dmdba #dz1323456
#创建安装路径并将路径授权dmdba
sudo mkdir /dm8
sudo chown dmdba:dm /dm8
2.挂载数据库
官网地址https://www.dameng.com/list_103.html
#挂载达梦安装包ISO文件,
#/opt/dm8_20230111_longsrch_kylin10_64.iso是下载的DM8安装包存放路径/mnt是要挂载的路径
sudo mount -o loop /opt/dm8_20230111_longsrch_kylin10_64.iso /mnt
#挂载mnt提示无权限错误使用下面语句
sudo mount -o remount,rw /
3.安装
1.图形化安装
xhost + #报错 unable to open display "",可以输入命令export DISPLAY=:0执行一下,再次输入xhost +验证
echo $DISPLAY #记住得到的值(:1.0或者:0.0d等)
su - dmdba #切换成达梦用户
export DISPLAY=:0 #:0是上一步得到的值
#开始图形化界面安装
cd /mnt
./DMInstall.bin
3.2.命令行安装
#命令行安装
./DMInstall.bin -i
4.图形化安装过程
1.选择时区,默认中国,点击确定
2.提示需要KEY文件的地方试用版可以不选择KEY文件直接下一步,直接点击下一步
3.典型安装,默认就行,下一步
4.安装路径,点击浏览,选择跟目录上的==/dm8==,提示目录已存在,点击确认
5.点击安装
6.提示执行脚本,打开终端,
#进入root用户
su - root
#报错su故障,原因一般为密码错误,可修改密码
sudo passwd root
#修改完成后,重新输入su - root 切换root用户
#复制执行命令(dm弹出框里的命令)执行
5.初始化数据库
1.安装完成后,弹出初始化数据库,点击初始化
2.创建数据库实例,开始
3.创建数据库模板,下一步
4.指定数据库目录,下一步
5.数据库标识,下一步
6.数据库文件,下一步
7.初始化参数,字符集可以改成UTF-8,默认为GB18030,下一步
8.口令管理,口令dm12345678,可以改个自己喜欢的,下一步
9.创建示例库,这里可以不创建,下一步
10.创建摘要,完成
11.命令行执行脚本,有三行,使用root用户分开执行就行,执行完后,点击确定
12.再次执行脚本,执行后点击确定
13.点击完成
2.unixODBC安装
1.官网下载UnixODBC:unixODBC,http://www.unixodbc.org/
2.解压文件 unixODBC-2.3.11.tar.gz
3.打开终端,进入解压后的文件夹
#1.配置configure文件,通过--prefix设置安装的目录,龙芯3a5000需要--build=arm-linux
sudo ./configure --build=arm-linux --prefix /usr/local
#2.编译
sudo make
#3.安装
sudo make install
#4.查看配置文件路径
odbcinst -j
#5.如果查看的配置文件的路径和实际所在的路径不同的话,实际路径在/usr/local/etc下
#需要重新配置ODBCINI及ODBCSYSINI两个环境变量,使用命令:
export ODBCINI=/usr/local/etc/odbc.ini
export ODBCSYSINI=/usr/local/etc
#这是临时设置了路径,想要永久设置,修改/etc/profile文件,把这两行加到文件末尾,然后执行source /etc/profile使设置生效。
-
修改驱动信息,/usr/local/etc/odbcinst.ini做如下修改:
[DM8 ODBC DRIVER] Description = ODBC DRIVER FOR DM8 Driver=/dm8/bin/libdodbc.so
-
/usr/local/etc/odbc.ini做如下修改
[DM8] Description = DM ODBC DSN Driver = DM8 ODBC DRIVER SERVER = localhost UID = SYSDBA PWD = dm12345678 TCP_PORT= 5236
#测试连接
isql dm8 -v
- 如果找不到libdodbc.so,可以把**/dm8/bin下的libdmdpi.so和libdmfldr.so这两个libdodbc.so依赖的库复制到/usr/lib**下
- 如果报错不能加载libodbcinst.so,可以把**/usr/local/lib下的libodbcinst.so=复制到/usr/lib**目录下
- 上面这两个问题,实质上都是因为环境变量的路径里找不到这几个库文件,所以也可以通过设置/usr/local/DM8/bin和/usr/local/lib为环境变量的方法,以确保可以找到这几个库。
3.安装Qt
1.下载源码安装
#更新系统软件
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
#执行sudo apt-get install libegl1-mesa-dev时,报软件包间依赖关系错误
#解决上一步问题
sudo apt-get install aptitude
sudo aptitude install libgl1-mesa-dev #n->n->y-y
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libegl1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libxcb*
sudo apt-get install bison
sudo apt-get install libx11-dev libxext-dev libxtst-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libxkbcommon-x11-dev
sudo apt install libfreetype6-dev
#给python创建软链接到/usr/local/bin,让qt编译时QML模块需要用到python
ln -sf /usr/bin/python3 /usr/local/bin/python
python --version
sudo apt-get install mlocate
sudo updatedb
2.下载Qt 5.12.12源文件Index of /archive/qt/5.12/5.12.12/single选择***.tar.xz
3.解压
4.执行
#1.执行./configure
#$PWD表示安装到当前目录。要加-no-opengl, 否则会遇到Test OpenGL fail的问题
./configure -prefix $PWD/qtbase -opensource -nomake tests -no-opengl
#2.修改utils.h文件
#打开安装目录下qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
#查询error Target。往上翻,在defined(__misp__)||后添加defined(__loongarch__)||
#3.交叉编译
make -j4
#4.安装
make install
#5.创建软连接
sudo ln -sf /home/kylin/qt5.12.12/qtbase/bin/qmake /usr/local/bin
#6.查看版本,测试是否成功
qmake --version
2.直接安装
#没用使用这种方法测试过
sudo apt-get update
sudo apt-get install qt5-default //基本库
sudo apt-get install qtcreator //IDE(如果只是运行程序,则无需安装)
sudo apt-get install qtmultimedia5-dev
sudo apt-get install libqt5serialport5-dev //串口模块
sudo apt-get install qml-module-qtquick-controls2 //控件模块
4.安装Qtcreater
软件商店直接安装
5. 编译QODBC
在Linux系统中,由于没有自带ODBC驱动,所以编译Qt源码时,也不会自动编译QODBC,需要自己包含上UnixODBC的头文件然后编译,再把libqsqlodbc.so拷贝到Qt的路径下。没有这个库的话,在调用QSqlDatabase::addDatabase(“QODBC”)的时候会报错,告诉你缺少QODBC驱动。
#1.修改qsqldriverbase.pri文件,在Qt的源码路径下的qtbase/src/plugins/sqldrivers
修改include的路径为($$shadowed($$PWD)../sqldrivers/configure.pri)
#2.修改odbc.pro文件,在Qt的源码路径下的qtbase/src/plugins/sqldrivers/odbc
注释掉里面的QMAKE_USE += odbc
#3.\进入Qt的源码路径下的qtbase/bin,也就是你的qmake所在的目录,执行
sudo qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lodbc" /home/kylin/qt-everywhere-opensource-src-5.12.12/qtbase/src/plugins/sqldrivers/odbc/odbc.pro
#如果编译时报如下错误:
cannot write cache file /home/lh/qtexample/qt-5.13.0/gui/analogclock/.qmake.stash: permission denied
#说明文件夹权限是加密的,你需要修改其权限:进入项目对应的文件夹,修改其文件和子文件的权限为可读可写可执行:
sudo chmod 777 * -R
#执行完qmake的命令后,会生成一个MakeFile文件,然后执行make即可
#默认编译好生成的libqsqlodbc.so文件会放在/plugins/sqldrives下,然后我们把它复制或移动到Qt安装目录下的plugins/sqldrives下就可以了
#如果依然失败可使用Qtcreater打开odbc项目,在odbc.pro后添加
INCLUDEPATH+=/usr/local/include
LIBS+=-L/usr/local/lib -lodbc
#然后在Qtcreater中qmake和编译