oracle不同数据库里的表,两台不同的数据库中的表的操作方法(oracle和sql+server的比较)...

如何操坐不在同一个数据库中的数据操作:

一。对于SQL server来讲:

1.采用创建链接服务器的方式:

(1).创建链接服务器

exec sp_addlinkedserver   '要创建的链接服务器的本地名称', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '

sp_addlinkedserver :创建一个链接服务器(相当于oracle中的本地注册)

exec sp_addlinkedsrvlogin  '创建的链接服务器的本地名称 ', 'false ',null, '用户名 ', '密码'

sp_addlinkedsrvlogin :使用已创建的链接服务器进行登录。

(2).查询示例:

select * from [已创建的链接服务器名称].数据库名.dbo.表名

select * from openquery(已创建的链接服务器名称,'select * from 表名')

(3)。当数据库用完之后 关闭链接

--以后不再使用时删除链接服务器

exec sp_dropserver  '创建的链接服务器的本地名称', 'droplogins '

sp_dropserver '将被删除的服务器名称','droplogins| null' 如果指定了droplogins 那么相关的远程及链接服务器登录也被删除

2.采用odbc的方式来进行链接(openrowset)

(1)使用openrowset进行链接

例如:

select * from openrowset('SQLOLEDB','SQL服务器名';'用户名';'密码',数据库目录.dbo.表名称)

select * from openrowset('MSDASQL','DRIVER={SQL Server};Server=远程服务器名称/IP地址;UID=用户名;PWD=密码',数据库目录.dbo.表名称);

--链接Access数据库

下面的示例从本地 SQL Server Northwind 数据库的 customers 表中,以及存储在相同计算机上 Access Northwind 数据库的 orders 表中选择所有数据

说明  下面的示例假定已经安装了 Access。

USE pubs

GO

SELECT c.*, o.*

FROM Northwind.dbo.Customers AS c INNER JOIN  OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders) AS o

ON c.CustomerID = o.CustomerID

GO

(2) 采用opendataResource来访问远程数据库

SELECT   *  FROM   opendatasource( 'SQLOLEDB ',  'Data Source=远程服务器名称/IP地址;User ID=用户名;Password=密码 ' ).数据库目录.dbo.表名称

二.oracle数据库中操作两个不同数据库中的两张表

在这里oracle数据库服务器使用的dblink的方式, 其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。

1、已经配置本地服务

其语法为:

CREATE DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;

示例:

create public database link test connect to userInformation  identified by ***** using 'orcl'

2、未配置本地服务

create database link test

connect to userInformation identified by *****

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = fjept)

)

)';

示例:

select * from 表名@数据库链接名

其实不难看出 第一种和第二种数据库链接没有多大的区别  第一种链接其实把配置信息放到了TNSNAMES.ORA中了,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值