Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để sử dụng Excel với SQL Server kết nối máy chủ và cung cấp truy vấn

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 306397
Tóm tắt
Microsoft SQL Server hỗ trợ kết nối với các nguồn dữ liệu OLE DB trên một liên tục hoặc cơ sở đặc biệt. Kết nối liên tục được gọi là máy chủ được liên kết; kết nối đặc biệt được thực hiện vì lợi ích của truy vấn duy nhất được gọi là phân phối truy vấn.

Sổ làm việc Microsoft Excel là một nguồn dữ liệu OLE DB mà bạn có thể truy vấn thông qua máy chủ SQL theo cách này. Bài viết này mô tả cú pháp là cần thiết để cấu hình nguồn dữ liệu Excel khi máy chủ được liên kết, như cú pháp là cần thiết để sử dụng phân phối truy vấn truy vấn đó nguồn dữ liệu Excel.
Thông tin thêm

Truy vấn nguồn dữ liệu Excel trên máy chủ được liên kết

Bạn có thể sử dụng SQL Server Management Studio hoặc quản lý doanh nghiệp, Hệ thống lưu trữ thủ tục, SQL-DMO (cung cấp quản lý các đối tượng), hoặc SMO (đối tượng quản lý SQL Server) để cấu hình nguồn dữ liệu Excel khi máy chủ được liên kết SQL Server. (SMO có chỉ dành cho Microsoft SQL Server 2005.) Tất cả các trường hợp này, bạn phải luôn đặt bốn thuộc tính sau:
  • Tên mà bạn muốn sử dụng máy chủ được liên kết.
  • OLE DB nhà cung cấp có thể sử dụng kết nối.
  • nguồn dữ liệu hoặc đầy đủ đường dẫn và tên tệp cho sổ làm việc Excel.
  • Nhà cung cấp chuỗi, xác định mục tiêu làm việc Excel. theo mặc định, các nhà cung cấp máy bay phản lực sẽ bộ máy cơ sở dữ liệu Access.
Quy trình hệ thống lưu trữ sp_addlinkedserver cũng sẽ nhà @srvproduct có thể là bất kỳ giá trị chuỗi.

Lưu ý Nếu bạn đang sử dụng SQL Server 2005, bạn phải chỉ định một giá trị không trống nhà tên sản phẩm SQL Server Management Studio hoặc nhà @srvproduct thủ tục dịch sẵn nguồn dữ liệu Excel.

Sử dụng SQL Server Management Studio hoặc quản lý doanh nghiệp để cấu hình nguồn dữ liệu Excel như máy chủ được liên kết

SQL Server Management Studio (SQL Server 2005)
  1. Trong SQL Server Management Studio, mở rộng Đối tượng máy chủ trong Object Explorer.
  2. Bấm chuột phải vào Máy chủ được liên kết, và sau đó nhấp vào liên kết chủ mới.
  3. Trong ngăn bên trái, chọn trang chung , và sau đó làm theo các bước sau:
    1. Trong hộp văn bản đầu tiên, nhập bất kỳ tên máy (ứng dụng) phục vụ được liên kết.
    2. Chọn các <b00> </b00>nguồn dữ liệu khác tuỳ chọn.
    3. Trong danh sách các nhà cung cấp , bấm Microsoft phản lực 4,0 OLE DB Provider.
    4. Trong hộp tên sản phẩm , gõ Excel tên nguồn dữ liệu OLE DB.
    5. Trong ô dữ liệu nguồn , gõ tên tệp và đường dẫn đầy đủ của tệp Excel.
    6. Trong hộp cung cấp chuỗi nhập Excel 8.0 Đối với một bảng tính Excel 2002, Excel 2000 hoặc Excel 97.
    7. Bấm OK để tạo liên kết chủ mới.
Lưu ý Trong SQL Server Management Studio, bạn không thể mở rộng tên máy (ứng dụng) phục vụ được liên kết mới để xem danh sách các đối tượng có máy chủ.
Quản lý doanh nghiệp (SQL Server 2000)
  1. Trong Enterprise Manager, bấm vào để mở rộng mục tin thư thoại bảo mật .
  2. Bấm chuột phải vào Máy chủ được liên kết, và sau đó nhấp vào liên kết chủ mới.
  3. Trên tab chung , hãy làm theo các bước sau:
    1. Trong hộp văn bản đầu tiên, nhập bất kỳ tên máy (ứng dụng) phục vụ được liên kết.
    2. Trong hộp loại máy chủ , nhấp vào nguồn dữ liệu khác.
    3. Trong danh sách nhà cung cấp tên , bấm Microsoft phản lực 4,0 OLE DB Provider.
    4. Trong ô dữ liệu nguồn , gõ tên tệp và đường dẫn đầy đủ của tệp Excel.
    5. Trong hộp cung cấp chuỗi nhập Excel 8.0 Đối với một bảng tính Excel 2002, Excel 2000 hoặc Excel 97.
    6. Bấm OK để tạo liên kết chủ mới.
  4. Bấm để mở rộng tên máy (ứng dụng) phục vụ được liên kết mới để mở rộng thelist của các đối tượng có.
  5. tên máy (ứng dụng) phục vụ được liên kết mới, bấm vào bảng. Xin lưu ý rằng bảng và tên phạm vi của bạn xuất hiện trong rightpane.

Sử dụng quy trình được lưu trữ để cấu hình nguồn dữ liệu Excel khi máy chủ được liên kết

Bạn cũng có thể sử dụng quy trình hệ thống lưu trữ sp_addlinkedserver cấu hình nguồn dữ liệu Excel như máy chủ được liên kết:
DECLARE @RC intDECLARE @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 valuesSET @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				
Như đã nêu ở trên, quy trình được lưu trữ này yêu cầu một chuỗi bổ sung, bất kỳ giá trị cho tham số @srvproduct , xuất hiện như "Tên sản phẩm" trong cấu hình quản lý doanh nghiệp và SQL Server Management Studio. @location@catalog đối số không được sử dụng.

Sử dụng SQL-DMO cấu hình nguồn dữ liệu Excel như máy chủ được liên kết

Bạn có thể sử dụng SQL cung cấp quản lý các đối tượng cấu hình nguồn dữ liệu Excel như máy chủ được liên kết lập từ Microsoft Visual Basic hoặc ngôn ngữ lập trình khác. Bạn phải cung cấp các đối số 4 cùng yêu cầu cấu hình quản lý doanh nghiệp và SQL Server Management Studio.
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.CloseEnd Sub				

Sử dụng SMO cấu hình nguồn dữ liệu Excel như máy chủ được liên kết

Trong SQL Server 2005, bạn có thể sử dụng SQL Server quản lý các đối tượng (SMO) để cấu hình nguồn dữ liệu Excel khi máy chủ được liên kết lập. Để thực hiện việc này, bạn có thể sử dụng Microsoft Visual Basic .NET hoặc ngôn ngữ lập trình khác. Bạn phải cung cấp các đối số được yêu cầu trong cấu hình SQL Server Management Studio. Mô hình đối tượng SMO mở rộng và thay thế mô hình đối tượng cung cấp quản lý các đối tượng (SQL-DMO). Vì SMO tương hợp về sau với SQL Server Phiên bản 7.0, SQL Server 2000 và SQL Server 2005, bạn cũng có thể sử dụng SMO cấu hình SQL Server 2000.
Imports Microsoft.SqlServer.Management.SmoImports Microsoft.SqlServer.Management.CommonPublic Class Form1    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        Dim s As Server        Dim conn As ServerConnection        Dim ls As LinkedServer        conn = New ServerConnection("ServerName\InstanceName", "YourUesrName", "YourPassword")        s = New Server(conn)        Try            ls = New LinkedServer(s, "XLTEST_DMO")            With ls                .ProviderName = "Microsoft.Jet.OLEDB.4.0"                .ProductName = "Excel"                .DataSource = "c:\book1.xls"                .ProviderString = "Excel 8.0"            End With            ls.Create()            MessageBox.Show("New linked Server has been created.")        Catch ex As SmoException            MessageBox.Show(ex.Message)        Finally            ls = Nothing            If s.ConnectionContext.IsOpen = True Then                s.ConnectionContext.Disconnect()            End If        End Try    End SubEnd Class

Truy vấn nguồn dữ liệu Excel trên máy chủ được liên kết

Sau khi bạn cấu hình nguồn dữ liệu Excel như máy chủ được liên kết, bạn có thể dễ dàng truy vấn dữ liệu Query Analyzer hoặc ứng dụng khách khác. Ví dụ, để lấy các dòng dữ liệu được lưu trữ trong Sheet1 tệp Excel, mã sau sử dụng máy chủ được liên kết mà bạn đặt cấu hình bằng cách sử dụng SQL-DMO:
SELECT * FROM XLTEST_DMO...Sheet1$				
Bạn cũng có thể sử dụng OPENQUERY để yêu cầu máy chủ được liên kết Excel theo "passthrough", như sau:
SELECT * FROM OPENQUERY(XLTEST_DMO, 'SELECT * FROM [Sheet1$]')				
Đối số đầu tiên OPENQUERY sẽ là tên máy (ứng dụng) phục vụ được liên kết. Các dấu kiểm cách là bắt buộc đối với tên bảng, như trên.

Bạn cũng có thể tải xuống danh sách tất cả các bảng có sẵn trên máy chủ được liên kết Excel bằng cách sử dụng truy vấn sau đây:
EXECUTE SP_TABLES_EX 'XLTEST_DMO'				

Truy vấn nguồn dữ liệu Excel bằng cách sử dụng phân phối truy vấn

Bạn có thể sử dụng SQL Server cung cấp truy vấn và chức năng OPENDATASOURCE hoặc OPENROWSET nguồn dữ liệu Excel truy vấn thường xuyên truy cập vào cơ sở đặc biệt.

Lưu ý Nếu bạn đang sử dụng SQL Server 2005, đảm bảo rằng bạn đã bật tùy chọn Đặc biệt cung cấp truy vấn bằng cách sử dụng SQL Server bề mặt cấu hình khu vực, như trong ví dụ sau:
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',   'Data Source=c:\book1.xls;Extended Properties=Excel 8.0')...Sheet1$				
Lưu ý rằng OPENROWSET sử dụng một cú pháp phổ biến thứ hai đối số ("nhà cung cấp chuỗi"):
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',    'Excel 8.0;Database=c:\book1.xls', Sheet1$)				
Cú pháp nhà phát triển các đối tượng dữ liệu ActiveX (ADO) có thể muốn sử dụng hai ("nhà cung cấp chuỗi") đối với OPENROWSET:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',    'Data Source=c:\book1.xls;Extended Properties=Excel 8.0', Sheet1$)				
Cú pháp này làm tăng lỗi sau từ nhà cung cấp máy bay phản lực:
Không thể tìm thấy cài đặt chuyên biệt ISAM.
Lưu ý Lỗi này cũng xảy ra nếu bạn nhập nguồn dữ liệu thay vì nguồn dữ liệu. Ví dụ: các đối số không đúng:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'DataSource=c:\book1.xls;Extended Properties=Excel 8.0', Sheet1$) 				
Tham khảo
Do liên kết máy chủ SQL Server và cung cấp truy vấn sử dụng các OLE DB nhà cung cấp các nguyên tắc chung và lưu ý về sử dụng ADO Excel áp dụng ở đây. Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
257819 Làm thế nào để sử dụng ADO Excel dữ liệu từ Visual Basic hoặc VBA
Để biết thêm thông tin về SQL Server quản lý các đối tượng, ghé thăm Web site sau của Microsoft Developer Network (MSDN):Để biết thêm thông tin về cách bật tuỳ chọn Truy vấn cung cấp đặc biệt , hãy ghé thăm website sau của MSDN:

Warning: This article has been translated automatically

Thuộc tính

ID Bài viết: 306397 - Xem lại Lần cuối: 03/15/2015 10:09:00 - Bản sửa đổi: 3.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 7.0 Standard Edition

  • kbsqlsetup kbdatabase kbhowto kbjet kbmt KB306397 KbMtvi
Phản hồi