當前位置:首頁 » 操作系統 » 跨伺服器資料庫查詢

跨伺服器資料庫查詢

發布時間: 2022-12-27 03:46:13

① 跨伺服器查詢導入數據的sql語句

insert
into
MICS_WorkPlan_RestDays
select
*
from
OPENROWSET('SQLOLEDB',
'SERVER=192.168.2.97;uid=用戶名;pwd=密碼;Database=資料庫','select
*
from
v_restdays(sql語句,可執行存儲過程)')
as
a
此語句可用來將另一伺服器中的數據插入到本資料庫中的某一表內

② mysql跨伺服器查詢

當然是不能直接跨伺服器查詢了。但是,如果你有足夠的許可權,可以變通一下。就是MYSQL的同步復制
使s2作為s1的從伺服器,同步資料庫d1到s2,這樣s1做了更改後s2上也會有d1且d1也會隨之改變數據,再在s2上執行同台伺服器上的跨庫查詢就方便多了

關於如何設置「MYSQL的復制」,請到網站下載MYSQL參考手冊,里邊有詳細的說明

如果不明白,可以HI我

③ 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中。為了避免部分讀者產生混淆,特此說明。

④ 如何在SQL SERVER跨伺服器查詢資料庫

--創建鏈接伺服器

exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程伺服器名或ip地址 '

exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用戶名 ', '密碼 '

--查詢示例

select * from ITSV.資料庫名.dbo.表名

--導入示例

select * into 表 from ITSV.資料庫名.dbo.表名

--以後不再使用時刪除鏈接伺服器

exec sp_dropserver 'ITSV ', 'droplogins '

--連接遠程/區域網數據(openrowset/openquery/opendatasource)

--1、openrowset

--查詢示例

select * from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)

--生成本地表

select * into 表 from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)

--把本地表導入遠程表

insert openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)

select *from 本地表

--更新本地表

update b

set b.列A=a.列A

from openrowset( 'SQLOLEDB ', 'sql伺服器名 '; '用戶名 '; '密碼 ',資料庫名.dbo.表名)as a inner join 本地表 b

on a.column1=b.column1

--openquery用法需要創建一個連接

--首先創建一個連接創建鏈接伺服器

exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '遠程伺服器名或ip地址 '

--查詢

select *

FROM openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ')

--把本地表導入遠程表

insert openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ')

select * from 本地表

--更新本地表

update b

set b.列B=a.列B

FROM openquery(ITSV, 'SELECT * FROM 資料庫.dbo.表名 ') as a

inner join 本地表 b on a.列A=b.列A

--3、opendatasource/openrowset

SELECT *

FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ' ).test.dbo.roy_ta

--把本地表導入遠程表

insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陸名;Password=密碼 ').資料庫.dbo.表名

select * from 本地表

⑤ shell如何跨伺服器執行資料庫查詢

1、使用ssh-keygen生成密鑰實現快速登陸
[python]
view
plain

要跨伺服器自動執行腳本,得需要實現免密碼自動登陸,然後才能在多個伺服器之間跳轉,因此我們首先需要生成登陸密鑰。
生存登陸密鑰需要三個步驟,在本地機器創建密鑰,復制公鑰要遠程主機,將公鑰追加到遠程主機的authorized_keys
下面是一個操作示例:
oracle@linux1:~>
mkdir
~/.ssh
#首先在本地創建.ssh目錄並賦予許可權
oracle@linux1:~>
chmod
700
~/.ssh
oracle@linux1:~>
ssh-keygen
-t
rsa
#使用ssh-keygen生成密鑰對,也可以使用dsa方式
Generating
public/private
rsa
key
pair.
Enter
file
in
which
to
save
the
key
(/users/oracle/.ssh/id_rsa):
Enter
passphrase
(empty
for
no
passphrase):
Enter
same
passphrase
again:
Your
identification
has
been
saved
in
/users/oracle/.ssh/id_rsa.
Your
public
key
has
been
saved
in
/users/oracle/.ssh/id_rsa.pub.
The
key
fingerprint
is:
01:c8:48:01:f2:3d:a7:b4:cd:4a:9c:10:2d:ba:ef:4e
oracle@linux1

⑥ web應用伺服器到另一台oracle伺服器的資料庫查詢慢

跨伺服器數據查詢,伺服器要處理rollback,log之類的操作,還是存儲過程,會很慢。
可以這樣解決1、把數據、日誌、索引放到不同的I/O設備上,增加讀取速度,以前可以將Tempdb應放在RAID0上,SQL2000不在支持。數據量(尺寸)越大,提高I/O越重要。
2、縱向、橫向分割表,減少表的尺寸(sp_spaceuse)。
3、升級硬體。
4、根據查詢條件,建立索引,優化索引、優化訪問方式,限制結果集的數據量。注意填充因子要適當(最好是使用默認值0)。索引應該盡量小,使用位元組數小的列建索引好(參照索引的創建),不要對有限的幾個值的欄位建單一索引如性別欄位。
5、提高網速。

⑦ 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.表名

⑨ 跨伺服器資料庫查詢數據慢,該怎麼解決

確定網速沒問題的話,用的又是存儲過程,伺服器要處理rollback,log之類的操作會變慢,但是不至於慢這么多,你檢查一下防火牆和殺毒軟體,把他們關了看看會不會變快。能想到的就這么多了。剛剛給你查了下,禁用DNS解析,連接速度會快很多。不妨試一下,如果還慢的話,建議用緩存吧,比如hibernate框架

熱點內容
web本地存儲 發布:2025-05-11 00:13:33 瀏覽:358
為什麼暗格里的密碼搜不到了 發布:2025-05-11 00:13:31 瀏覽:940
oracle存儲過程使用變數 發布:2025-05-11 00:10:07 瀏覽:739
用安卓下載蘋果的軟體叫什麼 發布:2025-05-11 00:08:22 瀏覽:113
斷牙腳本 發布:2025-05-11 00:04:21 瀏覽:68
sim卡的密碼怎麼設置密碼 發布:2025-05-10 23:41:09 瀏覽:716
自定義緩存註解 發布:2025-05-10 23:40:06 瀏覽:118
sqltext類型長度 發布:2025-05-10 23:30:21 瀏覽:979
圖形AI演算法 發布:2025-05-10 23:30:19 瀏覽:183
java上傳的文件在哪裡 發布:2025-05-10 23:30:06 瀏覽:160