bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

如何通過SQLServer鏈接服務器和分布式查詢使用Excel

概要

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

創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于網站建設、成都網站建設、覃塘網絡推廣、微信小程序開發、覃塘網絡營銷、覃塘企業策劃、覃塘品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們大的嘉獎;創新互聯為所有大學生創業者提供覃塘建站搭建服務,24小時服務熱線:028-86922220,官方網址:vcdvsql.cn

Microsoft Excel 工作簿是一種可通過 SQL Server 以這種方式查詢的 OLE DB 數據源。本文介紹了將 Excel 數據源配置為鏈接服務器所需的語法,以及使用分布式查詢來查詢 Excel 數據源所需的語法。

回到頂端
更多信息 作為鏈接服務器查詢 Excel
您可以使用企業管理器、系統存儲過程或 SQL-DMO(分布式管理對象)將 Excel 數據源配置為 SQL Server 鏈接服務器。在所有的這些情況中,您總需要設置以下四個屬性:
• 鏈接服務器要使用的名稱。 • 連接要使用的 OLE DB 提供程序。 • Excel 工作簿的數據源或完整路徑和文件名。 • 將目標標識為 Excel 工作簿的提供程序字符串。默認情況下,Jet 提供程序需要 Access 數據庫。
系統存儲過程 sp_addlinkedserver也需要 @srvproduct屬性,該屬性可以是任何字符串值。
使用企業管理器配置 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 數據源配置為鏈接服務器: 如上所述,此存儲過程另需一個任意字符串值作為 @srvproduct參數的值,此參數在企業管理器配置中顯示為“產品名稱”。不使用 @location@catalog參數。

DECLARE @RC int DECLARE @server nvarchar(128) DECLARE @srvproduct 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 @srvproduct = \'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, @srvproduct, @provider, @datasrc, @location, @provstr, @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\'

回到頂端
使用分布式查詢來查詢 Excel 您可以使用 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.

文章名稱:如何通過SQLServer鏈接服務器和分布式查詢使用Excel
網站URL:http://vcdvsql.cn/article24/chesce.html

成都網站建設公司_創新互聯,為您提供關鍵詞優化、企業網站制作定制開發、建站公司、網站建設網站改版

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯