一种SqlServer数据迁移到Oracle的方法总结

简介: 一种SqlServer数据迁移到Oracle的方法总结

1.使用BCP命令,导出Sqlserver的数据到csv文件。我们可以把这些命令写成一个cmd命令,语句如下所示:    

CLS
@echo off
for %%F in (.\*.sql) do (
for /f "delims=~" %%a in (%%~dfF) do (
  rem echo "%%a"
  BCP "%%a" queryout "%%~nF.csv" -c -t, -S"ip_address" -d"database_name" -U"user_name" -P"password"
  @rem makecab /d compressiontype=lzx /d compressionmemory=21 "%%~nF.csv" "%%~nF.7z"
  @rem del "%%~nF.csv"
  )
  rem pause
)
pause

image.gif

ip_address :数据库的IP地址

database_name : 数据库名称

user_name : 数据库用户名

password:数据库密码

sql语句示例如下,注意sql语句的格式,必须在同一行:

select username,userno from t_user

image.gif

以上的cmd命令与上述sql文件在同一目录下,点击cmd命令,会导出SQL语句查询出的数据,格式为csv。注意必须安装sqlserver环境,上述cmd命令执行才有效,因为里面用到了bcp命令。

2.使用sqlldr命令,对应一定的ctl格式,将数据导入到oracle中。

我们同样可以将sqlldr命令写成cmd文件,如下所示:

CLS
@echo off 
  sqlldr username/password@ip:port/instancename control=t_user.ctl errors=1000 rows=1000 log=log.txt bad=err.txt 
pause

image.gif

对应的ctl文件,如下所示:

load data
infile 't_user.csv'
replace into table tmp_user
fields terminated by ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(username,userno)

image.gif

上述语句表示,将t_user.csv中的数据,导入到tmp_user表中,csv中的列分别对应tmp_user表中的username与userno。

注意,必须安装oracle环境,上述cmd命令才有效。

总结:以上只是提供一种思路,现实中进行跨数据库迁移,也有很多现成的工具可以使用,例如navicat或者其他etl工具等等。

目录
相关文章
|
10月前
|
SQL 数据采集 关系型数据库
实现MySQL与SQL Server之间数据迁移的有效方法
总的来说,从MySQL到SQL Server的数据迁移是一个涉及到很多步骤的过程,可能会遇到各种问题和挑战。但只要精心规划、仔细执行,这个任务是完全可以完成的。
662 18
|
11月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
2138 28
|
12月前
|
SQL 数据库连接 Linux
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
366 16
|
12月前
|
SQL 存储 Oracle
【YashanDB知识库】对比Oracle和YashanDB对象不一致的方法
本文来自YashanDB官网,介绍从Oracle迁移到YashanDB后的数据校验方法。通过YMP工具迁移数据后,可使用其内置校验功能,或采用本文提供的复杂对比思路:将Oracle的DBA_*数据字典视图保存为用户表,借助YMP同步至YashanDB,再利用SQL查询两数据库间的差异。具体包括视图、存储过程、索引和约束等对象的对比方法,提供详细SQL示例以供参考和修改。
|
数据采集 SQL Oracle
从ORACLE源进行批量数据迁移到GBase8a参考示例
从ORACLE源进行批量数据迁移到GBase8a参考示例
从ORACLE源进行批量数据迁移到GBase8a参考示例
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
588 12
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
313 7
|
SQL 关系型数据库 MySQL
创建包含MySQL和SQLServer数据库所有字段类型的表的方法
创建一个既包含MySQL又包含SQL Server所有字段类型的表是一个复杂的任务,需要仔细地比较和转换数据类型。通过上述方法,可以在两个数据库系统之间建立起相互兼容的数据结构,为数据迁移和同步提供便利。这一过程不仅要考虑数据类型的直接对应,还要注意特定数据类型在不同系统中的表现差异,确保数据的一致性和完整性。
312 4
|
Oracle 安全 关系型数据库
Oracle数据恢复—Oracle数据库误删除的数据恢复方法探讨
删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle数据库数据恢复方法(不考虑全库备份和利用归档日志)。
|
开发框架 Oracle 关系型数据库
ABP框架使用Oracle数据库,并实现从SQLServer中进行数据迁移的处理
ABP框架使用Oracle数据库,并实现从SQLServer中进行数据迁移的处理

热门文章

最新文章

推荐镜像

更多