Používanie programu Excel SQL Server prepojené servery a distribuované dotazy

DÔLEŽITÉ: Tento článok je preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft a možno ho opraviť prostredníctvom technológie Community Translation Framework (CTF). Microsoft ponúka strojovo preložené články, články upravené komunitou aj články preložené prekladateľmi, aby zabezpečil prístup ku všetkým článkom databázy Knowledge Base vo viacerých jazykoch. Strojovo preložené články aj upravené články môžu obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky. Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené neprávnym prekladom obsahu alebo jeho použitím zo strany našich zákazníkov. Ďalšie informácie o technológii CTF nájdete na lokalite http://support.microsoft.com/gp/machine-translation-corrections/sk.

Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 306397
Súhrn
Microsoft SQL Server podporuje pripojenie na iné zdroje údajov OLE DB na trvalé alebo ad hoc báze. Trvalé pripojenia sa označuje ako prepojený server; ad hoc pripojenie, ktoré je pre jeden dotaz sa nazýva dotaz.

Zošity programu Microsoft Excel sa jeden typ zdroja údajov OLE DB, ktorý môžete dotaz SQL Server týmto spôsobom. Tento článok popisuje syntax, ktoré je potrebné nastaviť zdroj údajov programu Excel ako prepojený server, syntax, že je potrebné použiť dotaz, že dotazy zdroja údajov programu Excel.
Ďalšie informácie

Pri zisťovaní zdroja údajov programu Excel na prepojený server

Môžete použiť SQL Server Management Studio alebo Enterprise Manager, systém uloženú procedúru, SQL-DMO (objekty) alebo SMO (SQL Server Management objektov) Konfigurácia zdroja údajov programu Excel ako prepojený server SQL Server. (SMO sú dostupné len pre Microsoft SQL Server 2005.) Vo všetkých prípadoch, musíte vždy nastaviť nasledujúce štyri vlastnosti:
  • Názov , ktorý chcete prepojený server.
  • OLE DB Provider , ktorý sa použije na pripojenie.
  • Zdroj údajov alebo úplnú cestu a názov súboru zošit programu Excel.
  • Reťazec, ktorý identifikuje cieľ ako zošit programu Excel. V predvolenom nastavení Jet poskytovateľ očakáva databázy programu Access.
Systém uložené postupom sp_addlinkedserver takisto očakáva, že @srvproduct vlastnosť, ktorá môže byť ľubovoľný reťazec.

Poznámka: Ak používate SQL Server 2005, zadajte hodnotu, ktorá nie je prázdna vlastnosť Názov produktu SQL Server Management Studio alebo @srvproduct vlastnosť uloženú procedúru pre zdroj údajov programu Excel.

Konfigurácia zdroja údajov programu Excel ako prepojený server pomocou SQL Server Management Studio alebo Enterprise Manager

SQL Server Management Studio (SQL Server 2005)
  1. SQL Server Management Studio, rozbaľte Objekt ExplorerObjekty servera .
  2. Kliknite pravým tlačidlom myši na Prepojené serverya kliknite na nový server pripojený.
  3. Na ľavej table vyberte Všeobecné stránky a potom postupujte podľa nasledujúcich krokov:
    1. Do prvého poľa zadajte ľubovoľný názov prepojeného server.
    2. Vyberte <b00> </b00>iného zdroja údajov možnosť.
    3. Poskytovateľ zoznamu, kliknite na položku Microsoft Jet 4.0 OLE DB Provider.
    4. Do poľa zadajte Názov produktu , Program Excel názov zdroja údajov OLE DB.
    5. Do poľa zdroj údajov , zadajte úplnú cestu a názov súboru súboru programu Excel.
    6. Do poľa zadajte reťazec , Excel 8.0 na zošit programu Excel 2002, Excel 2000 alebo Excel 97.
    7. Kliknite na tlačidlo OK vytvoriť nový prepojený server.
Poznámka: SQL Server Management Studio, nemôžete Rozbaľte názov server pripojený zoznam objektov, ktoré obsahuje server.
Enterprise Manager (SQL Server 2000)
  1. V Enterprise Manager kliknutím rozbaľte priečinok Security .
  2. Kliknite pravým tlačidlom myši na Prepojené serverya kliknite na nový server pripojený.
  3. Na karte Všeobecné , postupujte nasledovne:
    1. Do prvého poľa zadajte ľubovoľný názov prepojeného server.
    2. V poli Typ servera , kliknite na iný zdroj údajov.
    3. V zozname názov poskytovateľa kliknite na položku Microsoft Jet 4.0 OLE DB Provider.
    4. Do poľa zdroj údajov , zadajte úplnú cestu a názov súboru súboru programu Excel.
    5. Do poľa zadajte reťazec , Excel 8.0 na zošit programu Excel 2002, Excel 2000 alebo Excel 97.
    6. Kliknite na tlačidlo OK vytvoriť nový prepojený server.
  4. Kliknutím rozbaľte nový server pripojený názov rozbaľte thelist objektov, ktoré obsahuje.
  5. Pod názvom prepojený server, kliknite na položku tabuľky. O ktoré pracovných hárkov a pomenované rozsahy rightpane.

Konfigurácia zdroja údajov programu Excel ako prepojený server pomocou uloženej procedúry

Môžete použiť aj systém uložené postupom sp_addlinkedserver Konfigurácia zdroja údajov programu Excel ako prepojený server:
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				
Ako je uvedené vyššie, táto funkcia vyžaduje ďalšie ľubovoľný reťazec @srvproduct argument, ktorý sa zobrazí ako "Názov produktu" v Enterprise Manager a SQL Server Management Studio konfigurácii. @location a @catalog argumenty nepoužívajú.

Pomocou SQL-DMO Konfigurácia zdroja údajov programu Excel ako prepojený server

Objekty môžete nastaviť zdroj údajov programu Excel ako prepojený server programovo z programu Microsoft Visual Basic alebo iného programovacieho jazyka. Musíte zadať rovnaké štyri argumenty, ktoré sú potrebné v Enterprise Manager a SQL Server Management Studio konfigurácii.
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				

Používanie SMO Konfigurácia zdroja údajov programu Excel ako prepojený server

SQL Server 2005, môžete nastaviť zdroj údajov programu Excel ako prepojený server pomocou programu SQL Server Management objektov (SMO). Vykonáte to tak, môžete použiť Microsoft Visual Basic .NET alebo inej programovací jazyk. Musíte zadať argumenty potrebné SQL Server Management Studio konfigurácii. Objektový model SMO rozširuje a nahrádza objektový model distribuované riadenia objektov (SQL-DMO). Keďže SMO je kompatibilná so serverom SQL Server verzie 7.0, SQL Server 2000 a SQL Server 2005, môžete použiť aj SMO konfigurácie 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

Pri zisťovaní zdroja údajov programu Excel na prepojený server

Po nakonfigurovaní zdroja údajov programu Excel ako prepojený server, môžete ľahko dotaz jeho údaje z analyzátor dotazu alebo iného klientskej aplikácie. Načítať riadky údajov, ktoré sú uložené v Hárku1 súboru programu Excel, používa napríklad nasledujúci kód prepojený server, ktorý je nakonfigurovaný pomocou SQL-DMO:
SELECT * FROM XLTEST_DMO...Sheet1$				
Môžete tiež OPENQUERY dotaz prepojený server Excel spôsobom "priechod" takto:
SELECT * FROM OPENQUERY(XLTEST_DMO, 'SELECT * FROM [Sheet1$]')				
Prvý argument, že OPENQUERY očakáva sa názov prepojeného servera. Oddeľovače sú potrebné pre názvy, ako je uvedené vyššie.

Môžete získať zoznam všetkých tabuliek, ktoré sú dostupné na serveri Excel prepojené pomocou nasledujúceho dotazu:
EXECUTE SP_TABLES_EX 'XLTEST_DMO'				

Pri zisťovaní zdroja údajov programu Excel pomocou distribuované dotazy

Môžete použiť SQL Server distribuované dotazy a funkcia OPENDATASOURCE alebo OPENROWSET dotaz občas prístupné Excel zdrojov údajov na báze ad hoc.

Poznámka: Ak používate SQL Server 2005, uistite sa, že ste zapli možnosť Ad Hoc distribuované dotazy pomocou nástroja SQL Server Surface Area Configuration, ako je uvedené v nasledujúcom príklade:
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',   'Data Source=c:\book1.xls;Extended Properties=Excel 8.0')...Sheet1$				
Pamätajte, že OPENROWSET používa nezvyčajné syntaxe druhý argument ("reťazec"):
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',    'Excel 8.0;Database=c:\book1.xls', Sheet1$)				
Syntax, ktoré môže vývojár ActiveX Data Objects (ADO) druhý argument ("reťazec") s OPENROWSET použiť:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',    'Data Source=c:\book1.xls;Extended Properties=Excel 8.0', Sheet1$)				
Syntax vyvoláva poskytovateľa Jet nasledujúca chyba:
Nepodarilo sa nájsť inštalovateľný ISAM.
Poznámka: Táto chyba sa vyskytne, ak zadáte Zdroj údajov namiesto Zdroj údajov. Napríklad, nasledovné argument je nesprávny:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'DataSource=c:\book1.xls;Extended Properties=Excel 8.0', Sheet1$) 				
Odkazy
Pretože SQL Server prepojené servery a distribuované dotazy pomocou OLE DB Provider, všeobecné pokyny a upozornenia o používaní ADO Excel sa tu. Ďalšie informácie získate po kliknutí na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
257819 Používanie ADO s údajmi programu Excel z jazyka Visual Basic alebo VBA
Ďalšie informácie o SQL Server Management objektov nájdete na webovej lokalite webová lokalita Microsoft Developer Network (MSDN):Ďalšie informácie o povolení možnosti Ad Hoc distribuované dotazy , nájdete na nasledujúcej webovej lokalite MSDN:

Upozornenie: Tento článok bol preložený automaticky.

Egenskaper

Artikel-id: 306397 – senaste granskning 03/15/2015 08:59:00 – revision: 3.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Express Edition, Microsoft SQL 2005 Server Workgroup, 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 KbMtsk
Feedback