era5数据内容说明_原创「Oracle移行到Sqlserver完美解决案」⑨案1架构说明_程序

8911b06a7ef9809bdb64cd514dee1e1b.png

内部详细结构

接着上文【原创「Oracle移行到Sqlserver完美解决案」⑧案1架构说明_SQL结构】,继续说明

④Oracle数据=》文件=》Sqlserver

3)处理Powershell,04_DataExportAndImport.ps1说明

循环调用C#生成的Master和业务数据的sql文件,使用sqluldr2.exe命令将表的数据,批量导出到txt文件,再将txt文件,通过bulk insert语句插入到Sqlserver

4) 04_DataExportAndImport.ps1的代码内容说明

  • 循环sql文件的文件夹,按照文件名升序排列,循环得到每个sql文件
  • 从取到的sql文件中,取得1,2,3行的内容
fd0495016e4223810484abfb7968bd12.png

循环处理sql文件代码

  • 用第2行的view创建sql文,在sqlserver数据库创建view

Invoke-Sqlcmd -Query $viewSql -ServerInstance $ServerInstance -Database $sqlServerDbName -Username "la" -Password "la"

  • 通过sqluldr2.exe,执行第3行的sql文,将表数据导出到txt文件

.exesqluldr2.exe user=la/la@$OracleDbName query=`"$bcpSql`" field='0x09|TTT|' record=0x0a charset=AL32UTF8 file=$dataFile

关于sqluldr2.exe的使用,这些参数的作用,我在之前的文章中说过,大家可以去查找

  • 通过BULK INSERT命令将导出的txt文件数据,导入到sqlserver的对应表中

$insSql = "BULK INSERT " + $viewName + " FROM N'" + $dataFile + "' WITH ( FIELDTERMINATOR='|TTT|',CODEPAGE=65001,ROWTERMINATOR='0x0A');"

Invoke-Sqlcmd -Query $insSql -ServerInstance $ServerInstance -Database $sqlServerDbName -Username "la" -Password "la"

关于BULK INSERT的使用,这些参数的作用,我在之前的文章中说过,大家可以去查找

  • 删除创建的view

$dropViewSql = "DROP VIEW " + $viewName

Invoke-Sqlcmd -Query $dropViewSql -ServerInstance $ServerInstance -Database $sqlServerDbName -Username "la" -Password "la"

到这为止,案1的主要表的导出插入,就介绍完了,接下来对blob相关表,自定义的表的移行进行说明。鉴于篇幅限制,先介绍到这,接下来会陆续说明。有好的想法意见,可以关注联系我,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值