oracle 19c容器数据库数据加载和传输-----SQL*Loader(一)
目录
数据加载
(一)控制文件加载
1.创建用户执行sqlldr
2.创建文本文件和控制文件
3.查看表数据
4.查看log文件
(二)快捷方式加载
1.system用户执行
2.查看表数据
3.查看log文件
外部表
数据加载和传输的工具:SQL*Loder , datadump以及其他的工具
1.SQL*Loader可以加载传输数据,加载文本文件到数据库里面
2.用于外部表
数据加载
(一)控制文件加载
文件:
control file:定义文本数据的格式,指定元数据的位置,指定导入到指定的表
log file:自动产生,如果产生不了,SQL*Loader的操作会终止,记录了整个加载的过程
bad file(可选):数据中有约束,如果加载的时候有一些行违反了约束就会放在这里面
discard file(可选):如果文本文件的格式和控制文件中的格式不符合会显示在这里
1.创建用户执行sqlldr
[oracle@19c ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Thu Jan 4 12:03:28 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED READ ONLY NO3 PDB1 MOUNTED
SQL> alter pluggable database pdb1 open;Pluggable database altered.SQL> alter session set container=pdb1;Session altered.SQL> show pdbs;CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------3 PDB1 READ WRITE NO
SQL> show user;
USER is "SYS"SQL> create user nice identified by oracle2 quota 100m on users;--------在pdb创建一个用户并且给用户分配空间User created.SQL> grant create table ,connect ,resource to nice;------给用户分配权限Grant succeeded.[oracle@19c testtest]$ sqlplus nice/oracle@pdb1;------验证是否能连接上pdbSQL*Plus: Release 19.0.0.0.0 - Production on Thu Jan 4 21:47:26 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> show user;
USER is "NICE"SQL> CREATE TABLE TEST1 (X1 CHAR(1),2 X2 VARCHAR2(10),3 X3 NUMBER,4 X4 NUMBER,5 X5 VARCHAR2(20),6 X6 VARCHAR2(20),7 X7 DATE);Table created.SQL> select * from nice.test1;no rows selectedSQL> desc nice.test1;Name Null? Type----------------------------------------- -------- ----------------------------X1 CHAR(1)X2 VARCHAR2(10)X3 NUMBERX4 NUMBERX5 VARCHAR2(20)X6 VARCHAR2(20)X7 DATE
2.创建文本文件和控制文件
[oracle@19c oracle]$ cd testtest
[oracle@19c testtest]$ ll -ls
total 12
0 -rwxrwxrwx 1 oracle oinstall 0 Jan 4 13:46 test1.bad//bad file
4 -rwxrwxrwx 1 oracle oinstall 220 Jan 4 21:34 test1.ctl//控制文件
4 -rwxrwxrwx 1 oracle oinstall 121 Jan 4 21:38 test1.dat//需要导入的文件
0 -rwxrwxrwx 1 oracle oinstall 0 Jan 4 13:46 test1.dsc//和文本格式不符合的信息文件[oracle@19c testtest]$ cat test1.ctl
LOAD DATA
INFILE 'test1.dat'
BADFILE 'test1.bad'
DISCARDFILE 'test1.dsc'
APPEND//累加到表中,如果是replace就是不累加
INTO TABLE nice.test1
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'//用逗号进行列之间的分割,双引号是代表组合
TRAILING NULLCOLS//如果导入的文本文件列数比实际表的列数小,就会被当成空值导入
(X1, X2, X3, X4, X5, X6, X7 date 'yyyy-mm-dd')//指定日期格式[oracle@19c testtest]$ cat test1.dat
A,AA,1,11,AAA,AAAA,2014-09-09
B,BB,2,22,BBB,BBBB,2014-09-09
C,CC,3,33,CCC,CCCC,2014-09-09
D,DD,4,44,DDD,DDDD,2014-09-09[oracle@19c testtest]$ sqlldr nice/oracle@pdb1 control=test1.ctl//需要进入到文本文件所在的目录下执行文件,不然就需要加绝对路径,不然会遇到如下报错
SQL*Loader: Release 19.0.0.0.0 - Production on Thu Jan 4 21:57:36 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.Path used: Conventional
Commit point reached - logical record count 5Table NICE.TEST1:4 Rows successfully loaded.Check the log file:test1.log
for more information about the load.
SQL*Loader-500: Unable to open file (test1.ctl)
SQL*Loader-553: file not found
SQL*Loader-509: System error: No such file or directory

3.查看表数据
SQL> select * from nice.test1;SQL> set linesize 200;
SQL> /X X2 X3 X4 X5 X6 X7
- ---------- ---------- ---------- -------------------- -------------------- ---------
A AA 1 11 AAA AAAA 09-SEP-14
B BB 2 22 BBB BBBB 09-SEP-14
C CC 3 33 CCC CCCC 09-SEP-14
D DD 4 44 DDD DDDD 09-SEP-14
4.查看log文件
[oracle@19c testtest]$ cat test1.logSQL*Loader: Release 19.0.0.0.0 - Production on Thu Jan 4 21:57:36 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.Control File: test1.ctl
Data File: test1.datBad File: test1.badDiscard File: test1.dsc (Allow all discards)Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 250 rows, maximum of 1048576 bytes
Continuation: none specified
Path used: ConventionalTable NICE.TEST1, loaded from every logical record.
Insert option in effect for this table: APPEND
TRAILING NULLCOLS option in effectColumn Name Position Len Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
X1 FIRST * , O(") CHARACTER
X2 NEXT * , O(") CHARACTER
X3 NEXT * , O(") CHARACTER
X4 NEXT * , O(") CHARACTER
X5 NEXT * , O(") CHARACTER
X6 NEXT * , O(") CHARACTER
X7 NEXT * , O(") DATE yyyy-mm-dd Record 5: Discarded - all columns null.Table NICE.TEST1:4 Rows successfully loaded.//4行数据加载成功,0行失败0 Rows not loaded due to data errors.0 Rows not loaded because all WHEN clauses were failed.1 Row not loaded because all fields were null.Space allocated for bind array: 451500 bytes(250 rows)
Read buffer bytes: 1048576Total logical records skipped: 0
Total logical records read: 5
Total logical records rejected: 0
Total logical records discarded: 1Run began on Thu Jan 04 21:57:36 2024
Run ended on Thu Jan 04 21:57:42 2024Elapsed time was: 00:00:05.69
CPU time was: 00:00:00.04
在导入的过程中还遇到了一个报错:
SQL*Loader-941:Error during describe of table C##U1.TEST1
ORA-04043: OBJECT C##U1.TEST1 does not exist
遇到这个问题后很久都没有解决,后来直接在pdb1创建一个普通用户nice就可以传输数据了,有可能是通用用户的问题。

(二)快捷方式加载
这种方式要求table的名字和导入文件的名字要一样,这样的话oracle会自己到路径下去找到这个文件进行导入。这种方式没有第一种只能,不能转换格式。日期的格式要和数据库默认的格式一致,不能识别的值不会被导入。

1.system用户执行
SQL> select * from test1;X X2 X3 X4 X5 X6
- ---------- ---------- ---------- -------------------- --------------------
X7
---------
A AA 1 11 AAA AAAA
09-SEP-14B BB 2 22 BBB BBBB
09-SEP-14C CC 3 33 CCC CCCC
09-SEP-14X X2 X3 X4 X5 X6
- ---------- ---------- ---------- -------------------- --------------------
X7
---------
D DD 4 44 DDD DDDD
09-SEP-14SQL> truncate table test1;-------先清空这张表为重新导入做准备Table truncated.SQL> select * from test1;no rows selected
[oracle@19c testtest]$ sqlldr system/oracle@pdb1 table=nice.test1//system用户执行SQL*Loader: Release 19.0.0.0.0 - Production on Fri Jan 5 13:14:24 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.Express Mode Load, Table: NICE.TEST1
Path used: External Table, DEGREE_OF_PARALLELISM=AUTOTable NICE.TEST1:1 Row successfully loaded.Check the log files:nice.lognice_%p.log_xt
for more information about the load.
2.查看表数据
SQL> select * from test1;
SQL> set linesize 300
SQL> /X X2 X3 X4 X5 X6 X7
- ---------- ---------- ---------- -------------------- -------------------- ---------
A AA 1 11 AAA AAAA 09-SEP-14
3.查看log文件
以下可看出这钟方式导入时先创建了一个外部表,加载完之后又把外部表删除
[oracle@19c testtest]$ cat nice.logSQL*Loader: Release 19.0.0.0.0 - Production on Fri Jan 5 13:14:24 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.Express Mode Load, Table: NICE.TEST1
Data File: test1.datBad File: test1.badDiscard File: none specified(Allow all discards)Number to load: ALL
Number to skip: 0
Errors allowed: 50
Continuation: none specified
Path used: External TableTable NICE.TEST1, loaded from every logical record.
Insert option in effect for this table: APPENDColumn Name Position Len Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
X1 FIRST * , CHARACTER
X2 NEXT * , CHARACTER
X3 NEXT * , CHARACTER
X4 NEXT * , CHARACTER
X5 NEXT * , CHARACTER
X6 NEXT * , CHARACTER
X7 NEXT * , DATE "DD-MON-RR" Generated control file for possible reuse:
OPTIONS(EXTERNAL_TABLE=EXECUTE, TRIM=LRTRIM)
LOAD DATA
INFILE '(null)'
APPEND
INTO TABLE NICE.TEST1
FIELDS TERMINATED BY ","
(X1,X2,X3,X4,X5,X6,X7 DATE
)
End of generated control file for possible reuse.created temporary directory object SYS_SQLLDR_XT_TMPDIR_00000 for path /u01/app/oracle/testtestenable parallel DML: ALTER SESSION ENABLE PARALLEL DMLcreating external table "SYS_SQLLDR_X_EXT_TEST1"CREATE TABLE "SYS_SQLLDR_X_EXT_TEST1"
("X1" CHAR(1),"X2" VARCHAR2(10),"X3" NUMBER,"X4" NUMBER,"X5" VARCHAR2(20),"X6" VARCHAR2(20),"X7" DATE
)
ORGANIZATION external
(TYPE oracle_loaderDEFAULT DIRECTORY SYS_SQLLDR_XT_TMPDIR_00000ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCIIBADFILE 'SYS_SQLLDR_XT_TMPDIR_00000':'test1.bad'LOGFILE 'nice_%p.log_xt'READSIZE 1048576FIELDS TERMINATED BY "," LRTRIM REJECT ROWS WITH ALL NULL FIELDS ("X1" CHAR(255),"X2" CHAR(255),"X3" CHAR(255),"X4" CHAR(255),"X5" CHAR(255),"X6" CHAR(255),"X7" CHAR(255)DATE_FORMAT DATE MASK "DD-MON-RR"))location ('test1.dat')
)REJECT LIMIT UNLIMITEDexecuting INSERT statement to load database table NICE.TEST1INSERT /*+ append parallel(auto) */ INTO NICE.TEST1
(X1,X2,X3,X4,X5,X6,X7
)
SELECT "X1","X2","X3","X4","X5","X6","X7"
FROM "SYS_SQLLDR_X_EXT_TEST1"dropping external table "SYS_SQLLDR_X_EXT_TEST1"Table NICE.TEST1:1 Row successfully loaded.Run began on Fri Jan 05 13:14:24 2024
Run ended on Fri Jan 05 13:14:26 2024Elapsed time was: 00:00:02.00
CPU time was: 00:00:00.03
外部表
外部表的数据不会被加载到数据库里面。
ORACLE_LOADER 针对的是文本文件,ORACLE_DATADUMP针对的是二进制文件,不管是哪种引擎,外部表的数据源都是放在操作系统上的,不占用数据库的空间。
以SQL*Loader为引擎创建外部表
[oracle@19c ~]$ sqlplus sys/oracle@pdb1 as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Fri Jan 5 13:51:09 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> show user
USER is "SYS"
SQL> create directory ldr_dir as '/u01/app/oracle/testtest';------用sys用户创建一个目录,并且给nice赋权Directory created.SQL> grant read,write,execute on directory ldr_dir to nice;Grant succeeded.SQL> exit
[oracle@19c ~]$ sqlplus nice/oracle@pdb1--------nice用户连接到数据库SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jan 5 13:58:42 2024
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Last Successful login time: Fri Jan 05 2024 12:41:44 +08:00Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0SQL> CREATE TABLE test1_ext ----表的名字叫test1_ext2 (3 "X1" CHAR(1),4 "X2" VARCHAR2(10),5 "X3" NUMBER,6 "X4" NUMBER,7 "X5" VARCHAR2(20),8 "X6" VARCHAR2(20),9 "X7" DATE10 )11 ORGANIZATION external -----指明这是一个外部表12 (13 TYPE oracle_loader-------用的是oracle_loader引擎14 DEFAULT DIRECTORY ldr_dir-----目录是 ldr_dir15 ACCESS PARAMETERS -----以下是访问的参数16 (17 RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII-----指定字符集18 BADFILE ldr_dir:'test1.bad'19 DISCARDFILE ldr_dir:'test1.dsc'20 LOGFILE ldr_dir:'test1.log'21 READSIZE 104857622 FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LDRTRIM ----逗号是分隔,双引号代表组合23 MISSING FIELD VALUES ARE NULL ----列如果没有的话用空值来对待24 REJECT ROWS WITH ALL NULL FIELDS 25 (26 "X1" CHAR(255)27 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',28 "X2" CHAR(255)29 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',30 "X3" CHAR(255)31 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',32 "X4" CHAR(255)33 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',34 "X5" CHAR(255)35 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',36 "X6" CHAR(255)37 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',38 "X7" CHAR(255)39 TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'40 DATE_FORMAT DATE MASK 'yyyy-mm-dd'41 )42 )43 location 44 (45 'test1.dat'----指定需要导入的文本46 )47 )REJECT LIMIT UNLIMITED;Table created.SQL> select * from test1_ext;SQL> set linesize 300;
SQL> /X X2 X3 X4 X5 X6 X7
- ---------- ---------- ---------- -------------------- -------------------- ---------
A AA 1 11 AAA AAAA 09-SEP-14
B BB 2 22 BBB BBBB 09-SEP-14
C CC 3 33 CCC CCCC 09-SEP-14
D DD 4 44 DDD DDDD 09-SEP-14
E EE 5 55 EEE EEEE 09-SEP-14
F FF 6 66 FFF FF,FF 09-SEP-14
G GG 7 77 ggg CIH7 rows selected.
相关文章:
oracle 19c容器数据库数据加载和传输-----SQL*Loader(一)
目录 数据加载 (一)控制文件加载 1.创建用户执行sqlldr 2.创建文本文件和控制文件 3.查看表数据 4.查看log文件 (二)快捷方式加载 1.system用户执行 2.查看表数据 3.查看log文件 外部表 数据加载和传输的工具࿱…...
超维空间M1无人机使用说明书——52、ROS无人机二维码识别与降落
引言:使用二维码引导无人机实现精准降落,首先需要实现对二维码的识别和定位,可以参考博客的二维码识别和定位内容。本小节主要是通过获取拿到的二维码位置,控制无人机全向的移动和降落,分为两种,一种是无人…...
Mac 安装Nginx教程
Nginx官网 Nginx官网英文 1.在终端输入brew search nginx 命令检查nginx是否安装了 2. 安装命令:brew install nginx 3. 查看Nginx信息命令brew info nginx 4. 启动 nginx方式:在终端里输入 nginx 5.查看 nginx 是否启动成功 在浏览器中访问http://l…...
【促销定价】背后的算法技术 1 - 业务问题拆解
【促销定价】背后的算法技术 1 - 业务问题拆解 01 业务背景02 关键挑战03 问题拆解04 核心结论参考文献 本文为转载,大佬的文章写的真好,给大佬推广推广,欢迎大家关注。 如侵删。 导读:在日常生活中,我们经常会遇见线上…...
CNAS中兴新支点——什么是安全测试,安全测试报告有什么作用,主要测试哪些内容?
1.安全测试在做什么? 扫描?在很多人眼中,做安全的就是整天那个工具在哪里扫描操作,使用各种不同的工具做扫描。 是的,扫描是安全测试很重要的一部分,扫描可快速有效发现问题。扫描工具的易用性࿰…...
【shell发送邮件】
一、centos系统 mail sendmail发送 安装mail [rootlocalhost ~]# yum install -y mailx安装sendmail [rootlocalhost ~]# yum install -y sendmail配置mail.rc文件 # 发送人,必须和发件人保持一致 set from769593qq.com # 邮箱服务器 set smtpsmtp.qq.com # 邮箱…...
Qt实现简单的分割窗口
最近在学习一些关于Qt的新知识,今天来讲述下我学习到的窗口分割,如果有不正确的,大家可以指正哦~ 首先,先看一下实现之后的简单效果吧!省的说的天花乱坠,大家却不知道说的是哪个部分。 功能实现 整体demo…...
简单易懂的PyTorch激活函数大全详解
目录 torch.nn子模块Non-linear Activations nn.ELU 主要特点与注意事项 使用方法与技巧 示例代码 图示 nn.Hardshrink Hardshrink函数定义 参数 形状 示例代码 图示 nn.Hardsigmoid Hardsigmoid函数定义 参数 形状 示例代码 图示 nn.Hardtanh HardTanh函数…...
x-cmd pkg | pdfcpu - 强大的 PDF 处理工具
目录 简介首次用户多功能支持性能表现安全的加密处理进一步阅读 简介 pdfcpu 是一个用 Go 编写的 PDF 处理库。同时它也提供 API 和 CLI。pdfcpu 提供了丰富的 PDF 操作功能,用户还能自己编写配置文件,用来管理和使用各种自定义字体并存储有效的默认配置…...
linux 压力测试 AB ApacheBench
ab的简介 ab是apachebench命令的缩写。 ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等 ab的原理 ab的原理:ab命令会创建多…...
【云计算】云存储是什么意思?与本地存储有什么区别?
云计算环境下,衍生了云存储、云安全、云资源、云管理、云支出等等概念。今天我们就来了解下什么是云存储?云存储与本地存储有什么区别? 云存储是什么意思? 云存储是一种新型的数据管理方式,它通过网络将大量不同类型、…...
月入7K,19岁少年转行网优,他凭什么打破低学历魔咒?
专科未毕业、19岁,毫无专业技能,被匆匆赶进就业市场你会遇到什么? 毫无疑问,铺天盖地的拒绝和不合适,甚至有些公司连投递的资格都没有,这可能是所有低学历者求职过程中会遇到的“魔咒”。低学历似乎与低薪资…...
【C/C++】轻量级跨平台 开源串口库 CSerialPort
文章目录 1、简介2、支持的平台3、已经支持的功能4、Linux下使用5、使用vcpkg安装CSerialPort6、交叉编译7、效果图8、基于CSerialPort的应用8.1、CommMaster通信大师8.2、CommLite串口调试器 1、简介 Qt 的QSerialPort 已经是跨平台的解决方案,但Qt开发后端需要 Q…...
大创项目推荐 深度学习图像修复算法 - opencv python 机器视觉
文章目录 0 前言2 什么是图像内容填充修复3 原理分析3.1 第一步:将图像理解为一个概率分布的样本3.2 补全图像 3.3 快速生成假图像3.4 生成对抗网络(Generative Adversarial Net, GAN) 的架构3.5 使用G(z)生成伪图像 4 在Tensorflow上构建DCGANs最后 0 前言 &#…...
嵌入式系统复习--基于ARM的嵌入式程序设计
文章目录 上一篇编译环境ADS编译环境下的伪操作GNU编译环境下的伪操作ARM汇编语言的伪指令 汇编语言程序设计相关运算操作符汇编语言格式汇编语言程序重点C语言的一些技巧 下一篇 上一篇 嵌入式系统复习–Thumb指令集 编译环境 ADS/SDT IDE开发环境:它由ARM公司开…...
【C++入门到精通】异常 | 异常的使用 | 自定义异常体系 [ C++入门 ]
阅读导航 引言一、C异常的概念二、异常的使用1. 异常的抛出和捕获(1)throw(2)try-catch(3)catch(. . .)(4)异常的抛出和匹配原则(5)在函数调用链中异常栈展开…...
NX二次开发 Block UI 指定方位控件的应用
一、概述 NX二次开发中一般都是多个控件的组合,这里我首先对指定方位控件进行说明并结合选择对象控件,具体如下图所示。 二、实现功能获取方位其在选择面上原点的目标 2.1 在initialize_cb()函数中进行初始化,实现对象选择过滤面 //过滤平…...
2024年【R2移动式压力容器充装】模拟考试及R2移动式压力容器充装实操考试视频
题库来源:安全生产模拟考试一点通公众号小程序 2024年【R2移动式压力容器充装】模拟考试及R2移动式压力容器充装实操考试视频,包含R2移动式压力容器充装模拟考试答案和解析及R2移动式压力容器充装实操考试视频练习。安全生产模拟考试一点通结合国家R2移…...
数仓工具—Hive进阶之StorageHandler(23)
Storage Handler 引入Storage Handler,Hive用户使用SQL的方式读写外部数据源, 例如ElasticSearch、 Kafka、HBase等数据源的查询对非专业开发是有一定门槛的,借助Storage Handler,他们有了一种方便快捷的手段查询数据,Storage Handler作为Hive的存储插件,我们需要的时候直…...
科技创新创业
科技创新创业是一个涉及多个方面的过程,主要包括以下几个方面: 创意产生:创业的起始点通常是一个新的创意或想法,这可能是一个新的产品、服务或技术的概念。这个创意需要独特且具有商业潜力。市场调研:一旦有了创意&a…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
