--1 方式
--查询oracle数据库中的表
sql
SELECT *
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN'
)..DAIMIN.JOBS
举一反三:在查询分析器中输入:
sql
SELECT *
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=ORCL;User ID=SYSTEM;Password=manager'
)..HKDY.S_HD_HKDY
--在sqlserver中创建与oracle数据库中的表同名的表
sql
select * into JOBS from
OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=daimin;Password=daimin'
)..DAIMIN.JOBS
select * from JOBS
--2、方式
--在master数据库中查看已经存在的链接服务器
sql
select * from sysservers
EXEC sp_addlinkedserver
@server = 'GE160',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'GE160'
exec sp_addlinkedsrvlogin 'GE160', false, 'sa', 'daimin', 'daimin'
--要在企业管理器内指定登录帐号
sql
exec sp_dropserver GE160
select * from GE160..DAIMIN.JOBS
delete from GE160..DAIMIN.JOBS
--备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写字母。
sql
SELECT *
FROM OPENQUERY(GE160, 'SELECT * FROM DAIMIN.JOBS')
--3、方式
sql
SELECT a.*
FROM OPENROWSET('MSDAORA',
'GE160';'DAIMIN';'DAIMIN',
DAIMIN.JOBS) AS a
ORDER BY a.JOB_ID
--4、方式 ODBC
--ODBC方式比较好办
sql
SELECT A.*
FROM OPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN', --GE160是数据源名
DAIMIN.JOBS) AS A
ORDER BY A.JOB_ID