内部详细结构
便于说明,上图的实现内容一览在这说明下,便于您的阅读:
1、01_DBMigrationV5_Restore.ps1 将备份bak文件,恢复到sqlserver数据库
2、02_1_DBMigrationV5_CreateSql.bat 通过c#程序,自动做成移行的sql文,保存在sqlbulk下
3、03_DBMigrationV5_Delete.bat 移行前删除sqlserver中的数据
4、04_1_DataExportFromOracle.ps1 将oracle数据导出到文件,保存到export文件夹
5、04_2_ImportDataToSqlServer.ps1 将export文件夹下的数据文件,插入到到sqlserver
6、05_DBMigrationV5_Custom.ps1 将自定义表,blob关联表导出的数据文件,插入到sqlserver
①Sqlserver的恢复:
这个处理和案1的方法基本一样,不再累述
②移行用SQL文生成:
关于生成sql文件的c#程序,和sql文件中的内容,基本和案1一样,这里不再说,不同处是生成的sql文件,保存到sqlbulk文件夹下,除了Master和Transaction文件夹之外,还有Custom文件夹,保存自定义表的sql文件。子文件是Master和Transaction。
③表中既存数据删除:
这个处理和案1的方法基本一样,不再累述
④Oracle数据=》文件
通过04_1_DataExportFromOracle.ps1,循环调用C#生成的Master和业务数据的sql文件,使用sqluldr2.exe命令将表的数据,批量导出到txt文件,保存到export文件夹,下面分Master和Transaction2个文件夹。下图以Master数据为例说明,导出数据文件类型
exportMaster文件夹结构
1)一般表导出到txt文件,例如下图的100_LDBMINF.txt
2)Custom表导出到exportMasterCustom文件夹
通过sqluldr2.exe调用sqlbulkCustomMaster下的sql文件,导出到这个文件夹。
3)Blob关联表的数据导出
LDBMLABEL,LDBMUSRCNF,LDBMUSRI文件夹用来存放blob关联的Master表,导出的数据文件,形式如下图,使用rowid+rownum作为文件名,具体为什么要这样做,之前的疑难问题的文章已经说明,请参照
blob关联表导出文件结构
鉴于篇幅限制,先介绍到这,接下来会陆续说明。有好的想法意见,可以关注联系我,谢谢