+ -
当前位置:首页 → 问答吧 → SQLSERVER 访问 Oracle

SQLSERVER 访问 Oracle

时间:2011-09-16

来源:互联网

在SQLSERVER的存储过程中如何访问Oracle中的函数。

注:Oracle中的函数是管道表函数。

作者: kaixuan1   发布时间: 2011-09-16

在sql server的存储过程中不可以直接访问oracle函数的。
可以调用试一下了。

作者: lzd_83   发布时间: 2011-09-16

SQL code
在SQL SERVER 2000中访问Oracle数据库服务器的几种方法 

1.通过行集函数opendatasource
要求:本地安装Oracle客户端
select *  from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
其中,MSDAORA是OLEDB FOR Oracle的驱动,

注意:用户名和表名一定要大小,服务器和用户名之间是两个点;
例如:
select top 10 *  from opendatasource('MSDAORA', 'Data Source=HZTEST;User ID=osstest;Password=a1234')..OSSTEST.SUBSCRIBER

本地Oracle客户端配置文件中内容如下:
HZTEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 132.149.7.19)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = test)
    )
  )

2. 使用MS SQL的openrowset函数
select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A 
order by A.ID
使用这种方式一定要用别名才行

3.使用ODBC方式
select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
XST4_ODBC是ODBC数据源

4.使用链接服务器方式
EXEC SP_ADDLINKEDSERVER
@server='mylinkedserver',      --链接服务器名称
@srvproduct='Oracle',          --固定
@provider='MSDAORA',           --固定
@datasrc='XST4'                --Oracle本地服务名


该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=17285

作者: dawugui   发布时间: 2011-09-16

但是在SQLSERVER的存储过程中能否访问Oracle中的函数,就不知道了.

作者: dawugui   发布时间: 2011-09-16

不建议这么操作。如果是oracle自定义函数,就在sqlserver中建立同样函数,自己调用。

作者: liuhaiyang5300   发布时间: 2011-09-16

热门下载

更多