密码保护:基于QT+MySQL实现的学生信息管理系统

此内容受密码保护。如需查阅,请在下列字段中输入您的密码。

QT5.13之后的版本需要自行编译Mysql的driver

前言

QT5.13版本后无法使用Mysql。


一、Mysql缺少报错

1.在QT中使用

2.然后会报以下错误:

继续阅读 »

树莓派samba配置文件的一些说明

设置无需用户名密码直接可访问、读写:

在配置文件 /etc/samba/smb.conf最后添加如下内容,再重启samba

继续阅读 »

Raspberry Pi 树莓派安装64位系统打造全功能NAS [全网最正确操作记录]

安装树莓派64位系统

下载树莓派64位系统,我不要桌面所以选择了lite
https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2020-08-24/2020-08-20-raspios-buster-arm64-lite.zip

用USB Image Tool将镜像写入TF卡(Win32DiskImager只是个垃圾)
用法很简单:插入tf卡,在USB Image Tool左侧选好盘,右侧使用“Restore”将raspios-buster-arm64-lite.img镜像写入tf卡即可。

树莓派开启ssh服务

写入完成后,在资源管理器里会多出一个boot盘符,在boot分区下新建一个空文件,名为ssh,就可以给树莓派开启SSH服务,适合没屏幕操作。

树莓派自动链接wifi

在boot分区下新建wpa_supplicant.conf文件,并写入无线的相关配置。可以同时配置多个无线网络。

继续阅读 »

Qt5–编译与安装

工欲善其事,必先利其器。学习任何框架,下载安装总是第一步。Qt因为开发源码,所以有直接安装和源码安装两种方式,建议是第一次先直接安装,如果后面需要重新编译特定的模块,或者需要静态库,再额外的编译源码。至于IDE,我推荐使用Qt自带的QtCreator。
继续阅读 »

Qt最新版5.15.1在Win10环境静态编译安装和部署的完整过程(VS2019)

本文本来是记录Qt5.12.2编译部署过程,目前Qt5系列的最后一个LTS版发布,这个版本没有提供离线安装版,要是用必须使用在线安装。这两天编译Qt5.15.1发现编译步骤没有什么变化,所以就改一个标题。

一、为什么要静态编译

用QtCreator编译程序时,使用的是动态编译。编译好的程序在运行时需要另外加上相应的Qt库文件,一大堆dll文件。如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,那就需要使用静态编译。Qt官方不提供静态编译好的安装包,所以需要我们在自己的电脑上静态编译。而且exe文件会比动态编译的要小上很多。
继续阅读 »

oracle 利用shell脚本自动执行raman热备(全量和增量)

1、不废话直接上脚本
vim oracle_rman_bak.sh
#!/bin/sh
source /home/oracle/.bash_profile

if [ -z $1 ]
then
echo “Please Input a number,Usage: 0|1|2”
exit
else
RMAN_LEVEL=$1
fi

export ORACLE_SID=jkdata
export TODAY=date '+%Y%m%d'
export RMAN_DIR=/data/backup/oracledata/rmanbak/$ORACLE_SID/$TODAY-$RMAN_LEVEL
#######
mkdir -p $RMAN_DIR
cd $RMAN_DIR
LogFile=ora_rman_bk_$ORACLE_SID-L$RMAN_LEVEL-date '+%Y%m%d'.log

# rman backup
rman target / msglog=$RMAN_DIR/$LogFile<<EOF
delete noprompt obsolete;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘$RMAN_DIR/cf%F’;
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
backup as compressed backupset incremental level $RMAN_LEVEL filesperset 3 tag ‘dbL$RMAN_LEVEL’ format ‘$RMAN_DIR/ora_o_%d_%t_%c%s%p%u’
database skip readonly include current controlfile;
sql ‘alter system archive log current’ ;
backup(archivelog all format ‘$RMAN_DIR/ora_a_%d_%t_%c%s%p%u’ delete input);
release channel c1;
release channel c2;
}

list backup;
exit;
EOF

#mail backup log
mail -s “$ORACLE_SID rman L$RMAN_LEVEL backup log $TODAY” [email protected] <$RMAN_DIR/$LogFile

 

2、在crontab 中设置如下:
0 4 * * 5 sh /home/oracle/backup_scripts/oracle_rman_bak.sh 0 > /data/backup/oracledata/logs/rman.log 2>&1
0 4 * * 2 sh /home/oracle/backup_scripts/oracle_rman_bak.sh 1 > /data/backup/oracledata/logs/rman.log 2>&1

Auto packing the repository in background for optimum performance

git运行突然提示
Auto packing the repository in background for optimum performance

查资料,原来是自己本地一些 “悬空对象”太多(git删除分支或者清空stash的时候,这些其实还没有真正删除,成为悬空对象,我们可以使用merge命令可以从中恢复一些文件)

解决:
1.输入命令:git fsck –lost-found,可以看到好多“dangling commit”
2.清空他们:git gc –prune=now,完成

expdp/impdp 数据泵导入导出

业务场景:

在工作中,涉及到oracle数据库迁移,使用navicat等其他工具 容易报错,一系列问题很麻烦,今天记录一下操作流程及个人理解(文章参考了很多文档和博客);
EXPDP数据导出

请自行修改目录路径和自定义的表名,否则出现错误很难查找~

一般expdp流程:

一、新建逻辑目录

最好以system等管理员创建逻辑目录,Oracle不会自动创建实际的物理目录“D:\oracleData”(务必手动创建此目录),仅仅是进行定义逻辑路径dump_dir;

忘记sys用户密码的可以去下如何修改sys用户密码;

建议使用pl、navicat等oracle操作工具来操作;
继续阅读 »

宏定义转字符串

 

输出