将SQLServer的数据导入到Oracle数据库的方法

1、首先在SQL Server的电脑上安装Oracle,或者是操作的电脑上安装Oracle,如果没有,导出时会提示失败

2、打开SQL Server,右键点击要导出的数据库,选择“任务”下的导出数据

3、数据源按照要导出的数据库填写,点击下一步

4、在目标页选择Oracle Provider for OLD DB,然后点击“属性”

5、在“连接”选项卡上的“数据源”那里填写Oracle客户端的服务命名,比如“orc1”,如果是远程可以填写上ip和端口号,例如“192.168.1.100:1521/orc1”,然后填写用户名和密码,有一个“允许保存密码”的选项,一定要勾上。然后点击“测试连接”,如果提示“测试连接成功”就可以点击“确定”按钮继续下一步了。

6、之后的步骤跟SQL Server之间导数据库是一样的。

注意事项

1、导入到Oracle后,有时候遇到表不属于当前用户的问题,检查下导入时和登录oracle是否使用的是同一个用户,如果还不可以,可尝试把SQL Server里的表名和字段名都转成大写后再导入,通常就能解决问题。

–SQLServer所有表名转成大写

declare @sql varchar(300)–,@rowcount varchar(10),@dyncnum int
declare @tablename varchar(100)
declare cursor1 cursor for
select name from sysobjects where xtype = ‘u’ order by name
open cursor1
fetch next from cursor1 into @tablename
while @@fetch_status=0
begin
set @sql=’sp_rename ”’+@tablename+”’,”’+upper(@tablename)+”” — 此为修改为大写,如果修改为小写“lower”
–print @sql — 首先打印出来
exec(@sql)
fetch next from cursor1 into @tablename
end
close cursor1
deallocate cursor1

–SQLServer所有字段名大写
declare @sql varchar(300)
declare @tablecolumnname varchar(100),@columnname varchar(100)
declare cursor1 cursor for
select b.name+’.[‘+a.name+’]’,a.name from syscolumns a,sysobjects b where a.id=object_id(b.name) and b.xtype=’u’ and a.xtype<>189 and a.xtype<>34 and a.xtype<>35 and a.xtype<>36
open cursor1
fetch next from cursor1 into @tablecolumnname,@columnname
while @@FETCH_STATUS=0
begin
set @sql=’sp_rename ”’+@tablecolumnname+”’,”’+UPPER(@columnname)+”’,”column”’
–print @sql
exec(@sql)
fetch next from cursor1 into @tablecolumnname,@columnname
end
close cursor1
deallocate cursor1

2、Oracle没有主键自增的设置

3、Oracle日期类型跟Sqlserver不一样,原有程序查询的语句可能需要修改

4、Oracle的关键字和Sqlserver有些是不一样的,也需要修改

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐