當前位置:首頁 » 編程語言 » sql鏈接伺服器查詢
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql鏈接伺服器查詢

發布時間: 2022-04-18 07:20:54

❶ 在sql中如何從另一台伺服器的資料庫查詢數據

和在本底伺服器一樣,無非是再寫個 連接另一伺服器的代碼,

❷ sql server怎麼設置鏈接伺服器

展開伺服器對象-->鏈接伺服器-->右擊"新建鏈接伺服器"

輸入鏈接伺服器的IP或者輸入域名(域名會更方便一些,可以更換伺服器IP地址)

設置鏈接伺服器的安全性(登錄的用戶名和密碼)

創建成功後就可以看到了,如下圖

5
現在就可以使用鏈接伺服器了,用本地登錄SqlServer,新建一個查詢,輸入
Select * From [鏈接伺服器名].[遠程資料庫名].[所有者].[表名]
比如
Select * from [3G.XXXX.NET].[cntvs].[dbo].[tbUsers]

6
如果可以查詢到數據說明一切正常嘍

❸ sql資料庫中跨不同資料庫伺服器的查詢

--SQLServer跨伺服器查詢
--創建鏈接伺服器(連接的保密要自己想辦法解決啦!)
execsp_addlinkedserver'LKSV','','SQLOLEDB','遠程伺服器名或ip地址'
execsp_addlinkedsrvlogin'LKSV','false',null,'用戶名','密碼'
--查詢實例
select*fromLKSV.資料庫名.dbo.表名

❹ SQL代理的作業中,如何對鏈接伺服器直接操作

一、直接在「對象資源管理器」中使用「新建查詢」,輸入SQL語句使用,如:select * from tablename
二、在本地伺服器查詢窗口中,使用鏈接伺服器方式進行查詢,如:select * from tm162.testdb.dbo.tablename

❺ sql server怎麼查詢鏈接伺服器

select * from 鏈接伺服器名字.資料庫名.dbo.表名 ,只要你創建的鏈接伺服器正確,那個語句就能成功執行。

❻ 如何在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 本地表

❼ 如何通過 SQL Server 鏈接伺服器和分布式查詢使用 Excel

SQL Server 支持到其他 OLE DB 數據源的永久性連接或臨時連接。永久性連接叫做鏈接伺服器;為單個查詢建立的臨時連接叫做分布式查詢。

Microsoft Excel 工作簿是一種可通過 SQL Server 以這種方式查詢的 OLE DB 數據源。本文介紹了將 Excel 數據源配置為鏈接伺服器所需的語法,以及使用分布式查詢來查詢 Excel 數據源所需的語法。
作為鏈接伺服器查詢 Excel
您可以使用企業管理器、系統存儲過程或 SQL-DMO(分布式管理對象)將 Excel 數據源配置為 SQL Server 鏈接伺服器。在所有的這些情況中,您總需要設置以下四個屬性:
• 鏈接伺服器要使用的名稱。
• 連接要使用的 OLE DB 提供程序。
• Excel 工作簿的數據源或完整路徑和文件名。
• 將目標標識為 Excel 工作簿的提供程序字元串。默認情況下,Jet 提供程序需要 Access 資料庫。
系統存儲過程 sp_addlinkedserver 也需要 @srvproct 屬性,該屬性可以是任何字元串值。
使用企業管理器配置 Excel 鏈接伺服器
1. 在企業管理器中,單擊以展開安全文件夾。
2. 右鍵單擊鏈接伺服器,然後單擊新建鏈接伺服器。
3. 在常規選項卡上,按照下列步驟操作:a.在第一個文本框中,為該鏈接伺服器鍵入任意名稱。b.在伺服器類型文本框中,單擊其他數據源。c.在提供程序名稱下拉列表框中,單擊 Microsoft Jet 4.0 OLE DB 提供程序。d.在數據源文本框中,鍵入 Excel 文件的完整路徑和文件名。e.在提供程序字元串文本框中,鍵入 Excel 8.0 代表 Excel 97、2000 或 2002 工作簿。f.單擊確定以創建新的鏈接伺服器。
4. 單擊以展開此新鏈接伺服器的名稱,從而展開它所包含的對象列表。
5. 在新建鏈接伺服器名稱下,單擊表。注意,工作表和命名區域將出現在右窗格中。
使用存儲過程配置 Excel 鏈接伺服器
您還可以使用系統存儲過程 sp_addlinkedserver 將 Excel 數據源配置為鏈接伺服器: DECLARE @RC int
DECLARE @server nvarchar(128)
DECLARE @srvproct nvarchar(128)
DECLARE @provider nvarchar(128)
DECLARE @datasrc nvarchar(4000)
DECLARE @location nvarchar(4000)
DECLARE @provstr nvarchar(4000)
DECLARE @catalog nvarchar(128)
-- Set parameter values
SET @server = 'XLTEST_SP'
SET @srvproct = 'Excel'
SET @provider = 'Microsoft.Jet.OLEDB.4.0'
SET @datasrc = 'c:/book1.xls'
SET @provstr = 'Excel 8.0'
EXEC @RC = [master].[dbo].[sp_addlinkedserver] @server, @srvproct, @provider,
@datasrc, @location, @provstr, @catalog
如上所述,此存儲過程另需一個任意字元串值作為 @srvproct 參數的值,此參數在企業管理器配置中顯示為「產品名稱」。不使用 @location 和 @catalog 參數。
使用 SQL-DMO 配置 Excel 鏈接伺服器
您可以使用 SQL 分布式管理對象從 Microsoft Visual Basic 或其他編程語言中將一個 Excel 數據源以編程方式配置為鏈接伺服器。您必須也提供企業管理器配置中要求的那四個參數。 Private Sub Command1_Click()
Dim s As SQLDMO.SQLServer
Dim ls As SQLDMO.LinkedServer
Set s = New SQLDMO.SQLServer
s.Connect "(local)", "sa", "password"
Set ls = New SQLDMO.LinkedServer
With ls
.Name = "XLTEST_DMO"
.ProviderName = "Microsoft.Jet.OLEDB.4.0"
.DataSource = "c:/book1.xls"
.ProviderString = "Excel 8.0"
End With
s.LinkedServers.Add ls
s.Close
End Sub

查詢 Excel 鏈接伺服器
將 Excel 數據源配置為鏈接伺服器之後,您可以方便地通過「查詢分析器」或其他客戶端應用程序查詢其數據。例如,為了檢索存儲在 Excel 文件 Sheet1 中的數據行,以下代碼使用了您使用 SQL-DMO 配置的鏈接伺服器: SELECT * FROM XLTEST_DMO...Sheet1$
您還可以使用 OPENQUERY 以「passthrough」(傳遞)方式查詢 Excel 鏈接伺服器,如下所示: SELECT * FROM OPENQUERY(XLTEST_DMO, 'SELECT * FROM [Sheet1$]')
OPENQUERY 需要的第一個參數是鏈接伺服器名稱。工作表名稱之間需要用分隔符分開,如上所示。

您還可以使用以下查詢獲得 Excel 鏈接伺服器上所有可用表的列表: EXECUTE SP_TABLES_EX 'XLTEST_DMO'

您可以使用 SQL Server 分布式查詢和 OPENDATASOURCE 或 OPENROWSET 函數臨時查詢很少訪問的 Excel 數據源,如下所示: SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=c:/book1.xls;Extended Properties=Excel 8.0')...Sheet1$
注意,OPENROWSET 對第二個(「提供程序字元串」)參數使用一種非常規語法: SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=c:/book1.xls', Sheet1$)
ActiveX 數據對象 (ADO) 開發人員按照常規應對 OPENROWSET 的第二個(「提供程序字元串」)參數使用的語法會 SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Data Source=c:/book1.xls;Extended Properties=Excel 8.0', Sheet1$)
造成 Jet 提供程序出現以下錯誤:
Could not find installable ISAM.

❽ 一個關於SQL連接其他伺服器資料庫查詢數據的問題

問題本身的含義是指將'11100401601 '這個字元轉換為int時越界了。就是說大於int能表示的最大值范圍了。首先要確定字元串所表示的數字本身是否正確,是不是寫錯了某個字元。其次就是別強轉成int,SQL里還有其他的數字類型,比如decimal什麼的。看你的需要了。但是如果你要插入一張已有表,並且裡面本來就有這種數據,你就完全可以使用sp_help+表名稱這個命令來看看原表中的數據類型,然後強制轉換成一致的。

❾ [圖]如何使用SQL鏈接伺服器查詢外來數據

但我們大多數人都沒有那麼幸運。有時,我們需要的數據並非資料庫格式,或者位於不同的伺服器上。SQL Server具有足夠的靈活性,提供大量你收集數據時所需要的方法。其中最方便的方法之一是使用鏈接伺服器(linked server)直接連接數據。(微軟SQL Server 2005 Express Edition也支持鏈接伺服器。)何為鏈接伺服器?簡單來說,鏈接伺服器是指與對象鏈接和嵌入資料庫(OLEDB)數據源建立的一個連接。技術上說,OLEDB是一個從一系列數據源中恢復數據的標准微軟API。如果這個解釋還不夠清楚,不用擔心。好消息是,它足夠靈活,可以連接資料庫和非資料庫格式,如一個電子表格或電子郵件客戶端。簡而言之,SQL Server支持任何OLEDB提供程序(也叫做驅動器)。另一個好消息:你可以使用Trnasact-sql或Management Studio來建立連接。建立一個鏈接伺服器後,SQL Server就可以登錄到另一台資料庫伺服器。那表示你可以在一台遠程伺服器上運行查詢。你可以任意使用兩種類型的鏈接伺服器查詢:特殊鏈接和永久鏈接。特殊鏈接技術上說,你不必使用「鏈接伺服器」這個名詞來確定一個特殊查詢。那個名詞實際上是指一個SQL Server對象。但是,你會經常看到這個名詞用來指特殊鏈接查詢。特殊查詢打開和關閉一個連接。永久鏈接伺服器一直可用。通過OPENROWSET完成非頻繁的鏈接任務,使用以下語法:OPENROWSET('providername', 'datasource', 'username', 'password', object)OPENROWSET消耗更少的資料庫空間。使用合法的Transact-sql語句來操作重新恢復的數據。其自變數不需要加以說明,但要記住的是,datasource是指數據源的完整路徑,而不只是一個文件名。此外,provider提供SQL Server需要進入並收集數據的指令。它們專門針對你所訪問的外來軟體。現在,我們來看一個簡單的特殊查詢實例,並選擇微軟Access樣本資料庫Northwind的Employees表中的所有記錄:SELECT*FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','C:Program FilesMicrosoft .mdb';'admin';'', Employees)AS EmployeesFromAccess圖A顯示的是迅速恢復的結果,它要求用戶(管理員)擁有適當的許可。(如果你想運行這個查詢,一定要把路徑更新到Northwind.mbd,以與你的系統相適應。)提供程序字元串專門針對數據引擎Jet。AS關鍵字為SQL Server中的新表提供一個名稱。圖A:使用OPENROWSET完成外來數據的非頻繁查詢(Express版)。如果特殊查詢返回錯誤消息,你可能需要激活特殊查詢特性。(默認情況下,SQL Server禁用特殊查詢。)要激活特殊查詢,運行SQL Server配置管理器(SQL Server Express版外圍應用配置器),點擊外圍配置特性(Surface Area Configuration For Features)鏈接,並查看激活OPENROWSET和OPENDATASOURCE支持(Enable OPENROWSET And OPENDATASOURCE Support)選項。然後,點擊OK並關閉實用工具。