‘壹’ 跨数据库查询
一台服务器上吗?sqlserver的话,直接采用 数据库名..表名 即可访问。oracle的话必须在B数据库的b表上赋A数据库的访问权限,然后才能用数据库名.表名访问即可。
‘贰’ 什么是跨库检索
跨库检索(Cross-Database search)是一个以多个分布式异构数据源为检索对象的数据检索系统,又称为多数据库检索、集成检索或联邦检索。
简单来说,就是输入一次检索词,系统同时在几个数据库中查找。
(2)跨数据库查询扩展阅读
跨库检索的由来和背景:为了通过Internet向用户提供信息服务,越来越多的信息情报服务中心(如图书馆、院校、科研单位等)购买或建设了各类网络数据库。 然而由于这些网络数据库提供厂商的多方性,产生了数据库标准和结构的差异性。
人们不得不自己了解各个数据库的使用方法和限制,通过不同的工具和协议与之交互,汇集表达不一的处理结果,这无疑带来了极大的不便,跨库检索为了解决这个问题而诞生和发展。
跨库检索的意义:
跨库检索可以在检索文献时在多个数据库同时检索,比如说在CNKI中可以同时在学位论文数据库、期刊论文数据库、会议论文数据库中同时选择多个数据库进行检索,可以极大提高查全率和查询效率。
‘叁’ sql怎样跨数据库查询oracle
假定您现在拥有一个以Microsoft.NET为架构的网络订购系统,但是品管维护系统却仍然使用一套旧式的Oracle数据库应用程序。当您的顾客在产品保固期间下了产品更换之类的订单,则该笔订单将不收取任何费用。此时您需要从Oracle数据库得到实时的查询结果。借着建立连结服务器的方式(linkedServer),您将可以从SQLServer实时查询出位于Oracle数据库的顾客资料,找出谁是您既有的客户。
当您的资料分散在不同的SQLServer数据库时,借由连结服务器可让您执行跨服务器之分布式查询。当所有的数据库服务器都是SQLServer,则连结服务器的设定十分容易,而且在SQLServer线上手册中就涵盖了您所需要了解的所有事项。然而,当部分资料是放在Oracle数据库服务器的时候,这就可能带给您许多挑战。举例来说,光是设定连结服务器就不是一件容易的事。您必须了解到:即是您要在SQLServer的EnterpriseManager设定一个Oracle连结服务器,这台SQLServer对Oracle来说就是一个客户端。所以您必须在SQLServer所在的服务器成功地安装并组态Oracle之客户端软件。因为Oracle提供的产品只支持Oracle8以后的数据库,所以我假设您正在使用的都是Oracle8以后的数据库。在OracleNet8函式库则提供了SQLServer所需要的客户端软件。
设定连接服务器时是利用Microsoft所提供的OLEDB ProviderforOracle,使用的Oracle网络函式库为SQL*Net2.3.3.0.4或是以后的版本,不过这是Oracle7.3数据库所提供的。换句话说,要设定Oracle数据库为SQLServer的连接服务器时,Oracle数据库只要是7.3.3.4以后的版本,并搭配适当的SQL*Net或是Net8函式库即可。
在Oracle数据库中,一个schema即代表着SQLServer专家们所熟知的单一数据库(译者注2)。连接至Oracle数据库时,您必须提供schema名称、密码以及主机联机字符串(hoststring)。每一个特定的Oracle帐户都拥有一个Oracleschema,而且只能有一个schema。所以schema名称其实就等于该schema拥有者的帐户名称。您可以查询Oracle的资料字典(Datadictionary)以得到更多有关schema的内容。
至于Oracle联机字符串又可称为服务名称(servicename)或是系统识别资料(SystenIdentifier,SID)。我们所谓的SQLServer数据库个体(instance)在Oracle则称为数据库(database)。所以安装OracleServer时,安装程序OracleUniversalInstaller(为一个图形接口之安装程序,与SQLServer的Setup程序类似)将会询问您SID名称为何,以作为Oracle数据库之名称。
这个部分原作者所提到schema的解释有点问题。Oracleschema可视为同一个使用者所拥有的所有数据库对象(schemaobjects)之集合。举例来说,使用者scott所建立的EMPtable其完整名称为SCOTT.EMP,而SCOTT就是EMP的schema名称。所以schemaname其实就是一个Oracle数据库之使用者帐号。但是绝对不能拿来跟数据库相提并论!因为SQLServer的数据库架构包含了datafiles与logfiles,但是Oracle的schemaobjects只存在于tablespace中。为了避免部分读者产生混淆,特此说明。
‘肆’ 如何实现ACCESS数据库跨库查询
有两种办法实现跨库查询
方法1)
将外数据库表链接到本数据库,然后就像使用本数据库表一样使用这些链接表进行查询了。
方法2)
在查询语句里使用in关键字+数据库存储路径,来查询外部ACCESS数据库表。
例如:
select a.* from members a,
(SELECT * from customers in "C:\Users\Lenovo_user\Desktop\db1.mdb")b
where a.m_name=b.name;
这个例子使用in关键子,将本数据库表与桌面上的外部数据库db1.mdb中表进行对等连接,返回相关的记录集。
‘伍’ Oracle数据库怎样跨库查询
在ORACLE里A库里建立一个同义词可把B库的X 表映射到A库。这样A库就当本库的表(虚拟式)使用。
Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系。本文介绍如何创建同义词语句,删除同义词以及查看同义词语句。
oracle的同义词总结:
从字面上理解就是别名的意思,和试图的功能类似。就是一种映射关系。
1.创建同义词语句:
create public synonym table_name for user.table_name;
其中第一个user_table和第二个user_table可以不一样。
此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:create synonym table_name for table_name@DB_Link;
当然,你可能需要在user用户中给当前用户(user2)授权: grant select/delete/update on user2
‘陆’ SQL Server 怎么实现跨数据库查询呢
方式一:
语句
SELECT * FROM 数据库A.dbo.表A a, 数据库B.dbo.表B b
WHERE a.field=b.field
"DBO"可以省略 如
SELECT * FROM 数据库A..表A a, 数据库B..表B b WHERE a.field=b.field
祝好运,望采纳
‘柒’ php如何跨数据库查询
1.建立两个数据库连接,查询的时候分别调用。
2.使用dbname.tablename的方式来写from,或者join(前提是你用于连接MYSQL的帐号必须同时可以访问这两个库)
例如:dba,dbb
select * from dba.table1 as t1
join dbb.table1 as t2 on t1.id = t2.id
‘捌’ 跨数据库连表查询sql语句怎么写
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。
‘玖’ SQL数据库跨库查询语句怎么写
1、同一个服务器跨数据库查询
select a.列1,a.列2,b.列1,b.列1,
from 数据1.dob.查询表1 a inner Join 数据2.dbo.查询表2 b
on b.关联字段=a.关联字段
where 条件
2、不同服务跨数据库查询:
首先创建链接服务器,后查询方法与1类似,只是查询时需要把数据链接名称添加到查询中。
具体操作参看:http://blog.csdn.net/htl258/article/details/5695391
‘拾’ sql数据库中跨不同数据库服务器的查询
--SQLServer跨服务器查询
--创建链接服务器(连接的保密要自己想办法解决啦!)
execsp_addlinkedserver'LKSV','','SQLOLEDB','远程服务器名或ip地址'
execsp_addlinkedsrvlogin'LKSV','false',null,'用户名','密码'
--查询实例
select*fromLKSV.数据库名.dbo.表名