在我们使用
SQL Server
数据库的过程中,有时需要将
SQL Server
数据导出,导入到其他的数据库中,比如导入到
Oracle
中。
假设要将
SQL Server
中的
Northwind
数据库中的
Products
表导出到
Oracle
的
Scott
用户
首先需要有安装
SQL Server
企业版
1
.打开工具:
开始-
>
程序-
>
导入和
SQL Server
数据导出数据
2
.下一步,选择数据源
[
数据源
]
选择“用于
SQL Server
的
Microsoft OLE DB
提供程序”,这应该是缺省值。
[
服务器
]
选择要导出数据的服务器,如果是本机,选择(
local
)
[
数据库
]
选择要导出的数据所在的库,这里选择
Northwind
3
.下一步,选择目的
[
目的
]
选择
Microsoft ODBC for Oracle
[DSN]
选择用户
/
系统
DSN
一项,然后在下拉列表框中找一个已经连接到了
Scott
用户的
DSN
名称。
如果下拉列表中没有,点下拉列表框右侧的
[
新建
]
,出现创建新数据源界面。
接下来选择系统数据源,下一步,在驱动程序列表中选择
Microsoft ODBC for Oracle
下一步,完成,出现
Microsoft ODBC for Oracle
安装界面
[
数据源名称
]
随便输入,比如
sss
[
说明
]
可以不填
[
用户名称
]
填入要
SQL Server
数据导出到的
Oracle
用户名称,这里是
scott
[
服务器
]
填入要连接到
Oracle
服务器所使用的服务名,比方说使用
sqlplus scott/tiger@server1
可以连接到数据库,那么这里就填入
server1
。如果本机就是服务器,使用
sqlplus scott/tiger
即可连接到数据库,这里空着不填即可。
这样就创建好了一个数据源
sss
,保证下拉列表框中选择了
sss
一项。
[
用户名
]
填入
SQL Server
数据导出到的
Oracle
用户名称,这里是
scott
[
密码
]
填入
SQL Server
数据导出到的
Oracle
用户使用的密码,这里是
tiger
4
.下一步,指定表复制或查询
如果要导出的内容是整个表,选择
[
从源数据库复制表和视图
]
如果要导出的内容是表的一部分列,行,可以选择
[
用一条查询指定要传输的数据
]
,这时需要写出一个查询语句
这里选择第一项
[
从源数据库复制表和视图
]
5
.下一步,选择源表和视图
点中要导出的表
Products
一行的复选框,目的、转换两栏就会出现内容。
目的可以用来选择表名。转换可以用来修改列的数据类型或是整个建表的
SQL
语句
6
.下一步,保存、调度和复制包
选中立即运行
7
.下一步,正在完成
DTS
导入
/
导出向导
8
.完成
提示“成功地将
n
个表从
Microsoft SQLServer
复制到了
Oracle
”
9
.完成,关闭导入导出程序
注意:因为
oracle
的表名都是大写的,而
SQL
的表可能是大小混写的,所以导入后在
oracle
里查不到该表,比如这个
Products
表在
oracle
里查询就应该写成
select * from scott
.
"Products"
;为了方便查询可以通过批量修改表名为大写以便后面导数据的工作。
---导完数据后执行下面语句,生成把表名修改成大写的操作
select 'ALTER TABLE '||'"'||table_name||'"'||' RENAME TO '|| upper
(
table_name
)
||'
;
' from user_tab_comments
;
把生成的文件执行即可把此用户下的所有表名修改成大写。