您的位置:首页 > 数据库 > Oracle

SQL Server往Oracle导入数据

2014-08-27 14:10 351 查看
SQL Server 2000 数据导入到 Oracle 11g

情景:

在PC机中的虚拟机A安装的Window 2003系统下SQL Server 2000中有源数据库local。

虚拟机Aip地址:192.168.1.103。本机B window7系统 ip地址:192.168.1.102

这里虚拟机要能ping到B、C两台机器就必须设置为桥接:



SQL Server 2000数据库中使用window用户登陆

在PC机C中安装的window7系统下Oracle中有目标数据库orcl。

PC机ip地址:192.168.1.101。主机名:GA-THINK

pip1用户

在C机下的Oracle中创建用户

Oracle下创建用户赋予权限,在终端中启动 SQL Plus。

创建用户+密码(用户:pip1密码:pip)

SQL> create user
pip1i dentified by
pip;

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

SQL> grant sysdba to pip1;

在Windows下创建一个ODBC数据源

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





配置数据源信息,如下

Data Source Name 随便填

Description 说明可选

TNS Service Name 这里会自动从本机Orcle中的tnsnames.ora中获取server ,所以要先配置A机访问B机的参数



userId 填写Orcle用户





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





SQL Server往Oracle导入数据

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





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













如果报错用户密码错之类的可以把用户写成大写就OK了

这里在"选择源表和视图"的时候,主要要把数据库的目的表名或视图名改成大写的并且去掉前面的用户名,可以参照上图填写。进行下一步操作,在最后,我遇见了一个小小的问题,在导入导出的时候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中了,赶紧去查询一下吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: