golang 解析oracle 数据文件头
package mainimport ("encoding/binary""fmt""io""os"
)
// Powered by 黄林杰 15658655447
// Usered for parser oracle datafile header block 1 ....
// oracle 数据文件头块解析
// KCBlockStruct represents the structure of the Oracle block
type KCBlockStruct struct {TypeKCBH byteFrmtKCBH byteRDBAKCBH uint32ChkvalKCBH uint16KCCFHDBI uint32KCCFHDBNX []byteKCCFHCSQ uint32KCCFHFSZ uint32KCCFHFNO uint16KCCFHTYP uint16KCVFHRDB uint32KSCNBAS uint32KSCNWRP uint16KCVFHCRT uint32KCVFHRLC uint32KCVFHRLS struct {KSCNBAS uint32KSCNWRP uint16}KCVFHBSBSC struct {KSCNBAS uint32KSCNWRP uint16}KCVFHSTA uint16KCVFHCPC uint32KCVFHCCC uint32KCVFHTSN uint32KCVFHTLN uint16KCVFHTNM [30]byteKCVFHPRC uint32KCVFHPRS struct {KSCNBAS uint32KSCNWRP uint16}KCVCPSN struct {KSCNBAS uint32KSCNWRP uint16}KCVCPTime uint32KCVCPThr uint16KCVCPRA struct {KCRBASEQ uint32KCRBABNO uint32KCRBABOF uint32}// Add more fields based on your structure
}func main() {// Open the Oracle data filefile, err := os.Open("C:\\Users\\ZMI\\Desktop\\asm-diskb\\newoasm\\SYSTEM.260.1096299059.dbf")if err != nil {fmt.Println("Error opening file:", err)return}defer file.Close()// Read the first block (assuming 8192 bytes)blockSize := 8192block := make([]byte, blockSize)// 指定要读取的块号blockNumber := 1// 计算块的偏移量blockOffset := blockSize * blockNumber// 移动文件指针到块的起始位置_, err = file.Seek(int64(blockOffset), io.SeekStart)if err != nil {fmt.Println("Error seeking to block:", err)return}_, err = file.Read(block)if err != nil {fmt.Println("Error reading file:", err)return}hexString := fmt.Sprintf("%X", block)// 打印结果fmt.Println("oracle 8kb block Hexadecimal representation:", hexString)// Parse the block using the defined structurekcBlock := parseKCBlock(block)// Print the extracted informationfmt.Printf("TypeKCBH: %X\n", kcBlock.TypeKCBH)fmt.Printf("FrmtKCBH: %X\n", kcBlock.FrmtKCBH)fmt.Printf("RDBAKCBH: %X\n", kcBlock.RDBAKCBH)// Print more fields as neededfmt.Printf("KCCFHDBI: %d\n", kcBlock.KCCFHDBI)fmt.Printf("KCCFHDBNX: %s\n", kcBlock.KCCFHDBNX)
}func parseKCBlock(block []byte) KCBlockStruct {kcBlock := KCBlockStruct{TypeKCBH: block[0],FrmtKCBH: block[1],RDBAKCBH: binary.LittleEndian.Uint32(block[4:8]),// Parse more fields based on your structureKCCFHDBI: binary.LittleEndian.Uint32(block[28:32]),KCCFHDBNX: block[32:40],}return kcBlock
}
##代码执行结果:

##下载地址:
oracle11g数据文件头block1解析资源-CSDN文库
相关文章:
golang 解析oracle 数据文件头
package mainimport ("encoding/binary""fmt""io""os" ) // Powered by 黄林杰 15658655447 // Usered for parser oracle datafile header block 1 .... // oracle 数据文件头块解析 // KCBlockStruct represents the structure of t…...
van-popup滑动卡顿并且在有时候在ios上经常性滑动卡顿的情况
解决”pc端页面可以滚动,移动端手势无法滚动“问题的一次经历 - 掘金 <van-popup v-model"studentclassShow" :lock-scroll"false" position"bottom" style"z-index: 3000" :style"{ height: 55% }"><d…...
YOLOv7独家原创改进:最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度
💡该教程为属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章为YOLOv7独家原创改进:独家首发最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度。 💡对自己数据集改进有效…...
ubuntu20.04中编译zlib1.2.11(源码编译)
1. 安装cmake-gui 2. 下载并解压zlib-1.2.11,在解压得到的文件夹内部创建一个“build”文件夹。 3. 打开cmake-gui,配置zlib1.2.11的configure文件(主要编辑build路径,安装路径,以及其他依赖选项)&#x…...
计算机毕业设计选题推荐-高校后勤报修微信小程序/安卓APP-项目实战
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...
如何零基础自学AI人工智能
随着人工智能(AI)的快速发展,越来越多的有志之士被其强大的潜力所吸引,希望投身其中。然而,对于许多零基础的人来说,如何入门AI成了一个难题。本文将为你提供一份详尽的自学AI人工智能的攻略,帮…...
pm2使用
常用命令 pm2 delete/stop/restart/start/list/info/monit/log...
在Ubuntu或linux中为coreutils工具包的cp和mv命令添加进度条
1、查看当前最新的coreutils版本: http://ftp.gnu.org/gnu/coreutils/ 2、安装coreutils过程 # wget http://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz # tar -xJf coreutils-9.4.tar.xz # cd coreutils-9.4/ 对照上面的,下载对应coreutils版本…...
力扣-58. 最后一个单词的长度
int lengthOfLastWord(char* s) {char* temp s;char* ret s;int count 0;/*返回的长度*/while (*temp){/*只记录空格后是字母的地址*/if ((*temp ) && (*(temp 1) ! \0) && (*(temp 1) ! )){ret temp 1;}temp;}while (*ret){if (isalpha(*ret) ! 0)…...
快递鸟荣获全球电子商务创业创新大赛总决赛一等奖
日前,以“开放、连接、协同、赋能”为主题,由商务部中国国际电子商务中心指导,浙江省商务厅、中共省委组织部、中共省委宣传部、中共省委网信办、省发展和改革委、省教育厅、省科技厅、省财政厅、省人力社保厅、团省委主办,湖州市…...
阶段七-Day02-SpringMVC
一、Restful请求格式 1. 介绍 Rest(Representational State Transfer:表现层状态转移)是一种软件架构风格,其核心是面向资源的一种设计。何为面向资源,意思是网络上的所有事物都可以抽象为资源,而每个资源都有唯一的资源标识&…...
YOLOv5独家原创改进:最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度
💡该教程为属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章为YOLOv5独家原创改进:独家首发最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度。 💡对自己数据集改进有效…...
【深度学习】pytorch快速得到mobilenet_v2 pth 和onnx
在linux执行这个程序: import torch import torch.onnx from torchvision import transforms, models from PIL import Image import os# Load MobileNetV2 model model models.mobilenet_v2(pretrainedTrue) model.eval()# Download an example image from the P…...
高防CDN安全防护系统在业务方面的应用
在当今数字化的时代,网络安全问题日益严峻,保护网站和数据免受攻击变得至关重要。CDN安全防护系统作为一种有效的解决方案,受到了广泛关注。小德将向您介绍CDN安全防护系统的原理、应用场景以及使用方法,助您更好地保障网络安全。…...
opencv(3):控制鼠标,创建 tackbar控件
文章目录 控制鼠标相关APIsetMouseCallbackcallback TrackBar 控件cv2.createTrackbarcv2.getTrackbarPos: 控制鼠标相关API setMouseCallback(winname, callback, userdata)callback(event, x, y, flags, userdata) setMouseCallback 在 OpenCV 中,s…...
UE4动作游戏实例RPG Action解析二:GAS系统播放武器绑定的技能,以及GE效果
一、GAS系统播放武器技能 官方实例激活技能通过装备系统数据激活,我先用武器数据资产直接激活 官方实例蒙太奇播放是自定义的AbilityTask,我先用更简单的方法实现效果 1.1、技能系统必要步骤: 1.1.1 插件启用AbilitySystem 1.1.2 PlayerCharacter绑定技能组件AbilitySy…...
做完这些_成为机器学习方面的专家
简单记个帖子, 用来记录学习机器学习的路线图 1. 数学分析, 高等代数, 概率论这三大件不多说, 基础中的基础. 2. 对于编程工具, b站上500集的python教程---python面向对象编程五部曲(从零到就业). 3. 对于机器学习的理论板块, 推荐b站up主---啥都会一点的研究生, 里面有一个吴恩…...
kubernetes|云原生| 如何优雅的重启和更新pod---pod生命周期管理实务
前言: kubernetes的管理维护的复杂性体现在了方方面面,例如,pod的管理,服务的管理,用户的管理(RBAC)…...
【总结】坐标变换和过渡矩阵(易忘记)
xCy,此为x到y的坐标变换。 [β1,β2,…,βn] [α1,α2,…αn]C,此为基α到基β的过渡矩阵。 这个概念经常忘记。。。alpha到beta看来就是alpha后面加一个过渡矩阵了,很直观。坐标变换就是根据过渡矩阵和基本形式推一推得到吧,记…...
第十一周任务总结
本周任务总结 本周物联网方面主要继续进行网关的二次开发与规则引擎实现设备联动的实现 非物联网方面主要复习了docker的使用与算法的学习 1.网关的二次开发,本周将实现debug调试输出的文件下载到了网关,但网关出了问题无法连接,最终跟客服…...
终极全面战争模组制作指南:RPFM开源编辑器完全教程
终极全面战争模组制作指南:RPFM开源编辑器完全教程 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: https://gitcod…...
鸣潮模组全面指南:解锁15项游戏增强功能
鸣潮模组全面指南:解锁15项游戏增强功能 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod 还在为《鸣潮》中的技能冷却时间烦恼吗?或者觉得游戏中的资源收集过于繁琐?…...
UE5动画进阶:用Control Rig的Aim节点,5分钟搞定角色头部平滑跟随任意Actor
UE5动画进阶:Control Rig的Aim节点实现角色头部动态跟随 在游戏开发中,角色与环境的动态交互是提升沉浸感的关键要素之一。想象一个场景:NPC能够自然地跟随玩家的移动而转动头部,或是怪物精准锁定目标时的头部动作——这些细节往往…...
Google I/O 2026 第二天:Gemini 3.5 实测性能深度解析与 Android XR 生态全景
摘要:Google I/O 2026 大会进入第二天,技术社区开始深度实测 Gemini 3.5 Pro 代号「Cappuccino」。本文汇总第一天 Keynote 后的实测数据:Gemini 3.5 Pro 编程能力达 GPT-5.5 的 92%,成本仅为其 1/8;Gemini 3.5 Flash …...
别再死记硬背公式了!用Python动画直观理解SAR距离徙动(附代码)
用Python动画拆解SAR距离徙动:从数学恐惧到视觉理解 雷达工程师们常开玩笑说,合成孔径雷达(SAR)成像有两个门槛:一个是昂贵的硬件设备,另一个是让人望而生畏的数学公式。当我第一次看到距离徙动(…...
保姆级教程:Windows下VectorCAST License服务配置与常见启动失败排查
Windows平台VectorCAST License服务配置全指南与深度排错手册 引言 在嵌入式软件测试领域,VectorCAST作为行业领先的自动化测试工具链,其License服务的正确配置是保证团队高效协作的基础。然而,许多工程师在初次部署时,常因Window…...
BooruDatasetTagManager自定义界面与快捷键:打造个性化工作流程的终极指南 [特殊字符]
BooruDatasetTagManager自定义界面与快捷键:打造个性化工作流程的终极指南 🎨 【免费下载链接】BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager BooruDatasetTagManager是一款强大的AI训练数据标签…...
ATxmega时钟与GPIO配置详解:从原理到实战代码
1. 项目概述:从零开始认识ATxmage的时钟与GPIO最近在整理一些嵌入式开发的入门资料,发现很多刚接触ATxmage系列微控制器的朋友,拿到开发板后往往第一步就卡在了最基础的时钟配置和引脚操作上。这其实很正常,因为这两个模块是整个系…...
TVA智能体范式的工业视觉革命(2)
重磅预告:本专栏将独家连载系列丛书《智能体视觉技术与应用》部分精华内容,该书是世界首套系统阐述“因式智能体”视觉理论与实践的专著,特邀美国 TypeOne 公司首席科学家、斯坦福大学博士 Bohan 担任技术顾问。Bohan先生师从美国三院院士、“…...
告别Modelsim命令行!用Notepad++插件NppExec一键检查Verilog语法(附详细配置命令)
硬件工程师的效率革命:Notepad与Verilog语法检查的终极整合方案 在数字电路设计领域,Verilog作为主流硬件描述语言,其语法检查是每位工程师日常工作中不可或缺的环节。传统工作流程中,工程师们不得不在文本编辑器与EDA工具之间频繁…...
