首页 > 代码库 > SQL Server往Oracle导入数据

SQL Server往Oracle导入数据

        在windows下的Oracle中创建用户

Oracle下创建用户赋予权限,在终端中启动 SQL Plus。
创建用户+密码(用户:sa 密码:lenovo)

SQL> create user sa identified by lenovo;

单独赋予用户权限

SQL> grant create session to sa;
SQL> grant create table to sa;
SQL> grant create sequence to sa;
SQL> grant create view to sa;

当然也可以给用户赋予DBA权限

SQL> grant sysdba to sa;

 

在Windows下创建一个ODBC数据源

控制面板——管理工具——数据源(ODBC),"系统 DSN” 项卡中点击添加按钮,选择相关Oracle驱动

SQL Server往Oracle导入数据 - vic.MINg - vic.MINg的博客

配置数据源信息,如下

SQL Server往Oracle导入数据 - vic.MINg - vic.MINg的博客

点击"Test Connection",进行测试看看是否和Solaris联通

SQL Server往Oracle导入数据 - vic.MINg - vic.MINg的博客

SQL Server往Oracle导入数据

启动"SQL Server 企业管理器" ,在数据库——DBServer 中 "所有任务",导出数据。

SQL Server往Oracle导入数据 - vic.MINg - vic.MINg的博客

根据提示,下一步,在这个主要配置"选择数据源"、"选择目的"、"选择源表和视图"等,可参看一下图片说明

SQL Server往Oracle导入数据 - vic.MINg - vic.MINg的博客

SQL Server往Oracle导入数据 - vic.MINg - vic.MINg的博客

SQL Server往Oracle导入数据 - vic.MINg - vic.MINg的博客

这里在"选择源表和视图"的时候,主要要把数据库的目的表名或视图名改成大写的并且去掉前面的用户名,可以参照上图填写。进行下一步操作,在最后,我遇见了一个小小的问题,在导入导出的时候Oracle中无法创建表或视图,可以看到相应提示 "ORA-01950: 对表空间 ‘USERS‘ 无权限"。

"ORA-01950: 对表空间 ‘USERS‘ 无权限" 解决方法:

创建新的用户时,要指定default   tablespace,否则它会把system表空间当成自己的缺省表空间。这样做是不提倡的。估计原来创建某个用户的时候没有指定缺省表空间,而现在它使用系统表空间的权限被DBA给收回了。

在Oracle中使用system登录执行以下语句即可

SQL> connect system/lenovo
SQL> alter user sa quota unlimited on users;

这次在试试,完全OK!

SQL Server往Oracle导入数据 - vic.MINg - vic.MINg的博客

嘿嘿,完成以后SQL Server中的数据就已经导入到Oracle中了,赶紧去查询一下吧!

SQL Server往Oracle导入数据