在sqlserver中 与oracle的表连接查询

是"表连接查询 "

SELECT * FROM M02P04_D2_Temp

select * from openquery(OraclePolice,' select imaal001,imaal003,imaal004,xmdcdocno,xmdc007 as zjzj3,xmdc006 as zjzj4 from DSDEMO.xmdc_t ' )

在我们使用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;

把生成的文件执行即可把此用户下的所有表名修改成大写。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答