1. 迁移目标本文档用于指导将原 CS 架构体检系统使用的 SQL Server 2008 数据库迁移并转换到 BS 架构系统使用的 Oracle 19c 数据库。迁移方式使用 Oracle SQL Developer 负责表结构、索引、约束、视图、部分对象的迁移转换。使用 Spoon/Kettle 负责数据迁移。对特殊字段、异常数据、业务关键表进行人工校验和二次处理。2. 工具介绍2.1 Oracle SQL DeveloperOracle SQL Developer 是 Oracle 官方提供的免费图形化数据库工具支持 Oracle 数据库开发、SQL 执行、对象管理、数据导入导出也支持连接部分第三方数据库并迁移到 Oracle。在本次迁移中SQL Developer 主要用于连接 SQL Server 2008 源库。连接 Oracle 19c 目标库。捕获 SQL Server 表结构和数据库对象。将 SQL Server 对象转换为 Oracle 对象。生成 Oracle DDL 脚本。执行结构迁移和部分数据迁移。2.2 jTDS JDBC 驱动SQL Developer 连接 SQL Server 时需要使用 jTDS 驱动。**注意**SQL Developer 的 SQL Server / Sybase 第三方连接页官方文档仍然要求用 jTDS 驱动不是微软的 mssql-jdbc-*.jar(刚开始用的这个无法识别),先下载jtds-1.3.1.jar。我下载好放到了SQL Developer/jlib目录方便管理已验证可用jtds-1.3.1.jar配置路径工具 - 首选项 - 数据库 - 第三方 JDBC 驱动程序 - 添加条目添加jtds-1.3.1.jar后重启 SQL Developer再新建连接时应能看到 SQL Server 连接页签。2.3 Spoon/KettleSpoon/Kettle 更适合处理数据迁移中的字段清洗、类型转换、异常行落地和分批导入。建议分工SQL Developer优先负责结构转换。Spoon/Kettle优先负责复杂数据迁移。3. 迁移前准备3.1 源库准备确认 SQL Server 2008 源库信息服务器地址 端口1433 数据库名 用户名 密码3.2 目标库准备确认 Oracle 19c 目标库信息服务器地址 端口1521 服务名/SID 迁移目标用户名 密码3.3 备份 SQL Server 源库(建议)迁移前必须先备份 SQL Server 数据库。4. SQL Server 与 Oracle 常见字段类型对应关系SQL Server 2008 类型Oracle 19c 推荐类型说明intNUMBER(10)普通整数bigintNUMBER(19)大整数smallintNUMBER(5)小整数tinyintNUMBER(3)0 到 255bitNUMBER(1)或CHAR(1)布尔标志位decimal(p,s)NUMBER(p,s)金额、数量numeric(p,s)NUMBER(p,s)金额、数量moneyNUMBER(19,4)金额字段需重点校验smallmoneyNUMBER(10,4)金额字段需重点校验char(n)CHAR(n)固定长度字符varchar(n)VARCHAR2(n)普通字符串nvarchar(n)NVARCHAR2(n)或VARCHAR2(n CHAR)中文字段建议检查长度语义textCLOB大文本ntextNCLOB或CLOB中文大文本datetimeDATE或TIMESTAMP普通业务时间可用 DATEsmalldatetimeDATE精度较低dateDATESQL Server 2008 支持 datetimeVARCHAR2或INTERVAL需按业务含义处理uniqueidentifierVARCHAR2(36)GUIDbinaryRAW二进制varbinaryRAW或BLOB大字段用 BLOBimageBLOB图片、附件xmlXMLTYPE或CLOB优先按系统读取方式决定5. 表结构、视图、触发器等迁移步骤5.1 配置 SQL Server 驱动打开 SQL Developer。进入工具 - 首选项 - 数据库 - 第三方 JDBC 驱动程序添加jtds-1.3.1.jar重启 SQL Developer。新建连接确认出现 SQL Server 页签。5.2 创建 SQL Server 源库连接在 SQL Developer 中新建 SQL Server 连接连接名SQLSERVER2008_xxxx 主机名SQL Server 服务器 IP 端口1433 数据库源数据库名 用户名SQL Server 用户名 密码SQL Server 密码点击测试确认连接成功。如果使用 Windows 身份认证优先改用 SQL Server 用户名密码方式连接减少驱动和本机认证组件依赖。5.3 创建 Oracle 目标库连接新建 Oracle 连接连接名ORACLE19C_xxxx 用户名Oracle 目标用户名 密码Oracle 目标用户密码 主机名Oracle 服务器 IP 端口1521 服务名Oracle 服务名点击测试确认连接成功。5.4 创建 Migration RepositorySQL Developer 迁移功能需要在 Oracle 中创建迁移仓库用于保存捕获模型和转换模型。操作路径工具 - 迁移 - 存储库(档案资料库)管理 - 创建存储库(档案资料库)选择 Oracle 目标连接或专门的迁移仓库连接。建议测试迁移阶段可以直接放在测试库中。正式迁移前建议单独创建迁移仓库用户避免污染业务用户(我单独创建了迁移仓库用户)。创建存储库(档案资料库) 完成后会在迁移仓库用户下新建很多表和触发器等。5.5 启动迁移向导操作路径工具 - 迁移 - 迁移迁移向导主要步骤选择 Migration Repository。创建迁移项目名称。选择 SQL Server 源库连接。选择要迁移的数据库对象。捕获 SQL Server 对象。转换为 Oracle 对象。检查转换结果。生成 Oracle DDL。执行 DDL 到 Oracle 目标用户。选择是否迁移数据。我勾上了截断数据后续发现没作用一直报错 无法禁用约束条件: 数据移动 先批量把目标库约束都禁用也不行最后放弃了使用spoon_kettle数据迁移INSERT INTO MIGRLOG(REF_OBJECT_ID, PHASE, SEVERITY, PARENT_LOG_ID, LOGTEXT, REF_OBJECT_TYPE, CONNECTION_ID_FK, LOG_DATE) VALUES (:REF_OBJECT_ID, :PHASE, :SEVERITY, :PARENT_LOG_ID, :LOGTEXT, :REF_OBJECT_TYPE, :CONNECTION_ID_FK, :LOG_DATE) 12, 2数据移动, 31000, 42, 5无法禁用约束条件: 数据移动, 612, 72, 82026-08-17 17:08:46.622数据迁移步骤注意点使用spoon_kettle数据迁移直接把jtds-1.3.1.jar 放到spoon根目录下 lib文件夹重启spoon就能连接上sqlserver库了不用额外的配置。默认某个节点执行报错后面都不执行了可以把节点设置为执行失败继续后面的但是这个工作不好操作1个1个设置太麻烦我是出现了就把start连接失败节点的下一个节点失败的这个节点如果确实需要这个数据迁移就手动处理。中途出现了4-5次失败也就是4-5张表需要手动处理。设置为执行失败继续后面的选择无条件的但是这个界面没找到全局设置的。
企业数字化 ERP 产品动态
相关推荐
基于SpringBoot的小香葱种植管理系统设计与实现 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片!
一、 项目背景与意义
随着现代农业向精细化、智能化方向发展,传统的小香葱种植管理模式在数据记录、生长监控、成本核算和销售追溯等方面面临诸多挑战。种植… · 2026/9/25 15:25:00
寒武纪PyTorch理事会席位背后:AI芯片软件栈适配与算子实现全解析 1. 从“同桌”这个词说起:一个信号背后的技术分量“寒武纪拿下PyTorch最高席位,与英伟达同桌”——这个标题我第一次看到的时候,正在调一个模型训练脚本,手边跑着的是一台装了消费级显卡的机器。说实话,第一反应不是兴… · 2026/9/25 15:24:48
多智能体协同实战:从单模型到工程级AI研发的落地指南 1. 从单兵作战到团队协作:多智能体协同到底在解决什么问题如果你最近一年在关注 AI 研发领域,大概率已经被“多智能体”这个词反复刷屏了。但很多人第一次听到“多智能体协同”的时候,脑子里浮现的画面可能是几个聊天窗口并排开着,… · 2026/9/25 15:24:48
AI时代FDE前线部署工程师:从需求勘探到交付的实战方法论 1. 从"实现不再是瓶颈"说起:FDE 到底在解决什么问题这两年跟不少做研发的朋友聊天,大家有个共同的感受:写代码这件事本身,正在变得越来越不"值钱"。不是说代码不重要,而是说"把需求翻译成能跑… · 2026/9/25 15:56:36
Atlas 300V 24G推理卡部署YOLO:从ONNX到OM全流程与调优实践 最近在技术群里连续被问了好几次同一个问题:“Atlas 300V 24G 是运算加速卡吗?”紧接着下一句通常是:“我想用它部署 YOLO,能不能直接当显卡用?”老实说,这两个问题放在一起,恰好是很多刚接触昇… · 2026/9/25 15:56:36
Atlas 300V 24G部署YOLO:AI推理加速卡环境搭建与模型转换实战 很多人第一次拿到Atlas 300V 24G的时候,都会有一个很朴素的疑问:这东西到底是不是运算加速卡?答案很明确,是一块实打实的AI推理加速卡。但它和我们平时听说的游戏显卡、通用GPU不是一回事,如果你指望拿它去渲染画面&am… · 2026/9/25 15:56:36
SpringBoot整合MQTT实现软硬件通信实战 1. 项目概述:为什么软硬件通信必须跨过“协议鸿沟”在工业现场、智能楼宇、农业物联网这些真实场景里,我见过太多团队卡在同一个地方:后端服务写得再漂亮,前端页面再炫酷,一到要跟温湿度传感器、PLC控制器、电表采集器… · 2026/9/25 15:56:17
Atlas 300V 24G实战:从PyTorch到昇腾的YOLO模型迁移与部署 1. 一张加速卡,为什么值得单独写一篇先说结论:Atlas 300V 24G 确实是运算加速卡,而且还是目前边缘端推理部署里相当能打的一类硬件。这两年 AI 项目落地时,很多团队在 GPU 和国产加速卡之间反复纠结,我自己的实测感受是… · 2026/9/25 15:56:05
Atlas 300V实战:基于昇腾AI加速卡的YOLO推理部署全攻略 1. Atlas 300V到底是什么先说结论:Atlas 300V Pro(也就是大家常说的Atlas 300V 24G)确实是一块运算加速卡,但它不是普通意义上的“显卡”。它是一块专门为AI推理设计的加速卡,主要任务是把已经训练好的深度学习模型&am… · 2026/9/25 15:56:05
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37