Cara menggunakan Excel dengan SQL Server terkait server dan didistribusikan permintaan

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 306397 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Microsoft SQL Server mendukung koneksi ke data OLE DB lainnya sumber-sumber di gigih atau adisional basis. Sambungan yang tetap dikenal sebagai server terkait; ad hoc koneksi yang dibuat untuk kepentingan dari satu permintaan dikenal sebagai permintaan didistribusikan.

Buku kerja Microsoft Excel adalah satu jenis sumber data OLE DB yang kau bisa query melalui SQL Server ini cara. Artikel ini menjelaskan sintaks yang diperlukan untuk mengkonfigurasi Sumber data Excel sebagai sebuah server yang terhubung, serta sintaks yang diperlukan untuk menggunakan query didistribusikan bahwa permintaan sumber data Excel.

INFORMASI LEBIH LANJUT

Query sumber data Excel pada server terkait

Anda dapat menggunakan SQL Server Management Studio atau Enterprise Manager, sebuah prosedur sistem yang disimpan, SQL-DMO (didistribusikan manajemen objek), atau SMO (SQL Server manajemen objek) untuk mengkonfigurasi data Excel sumber sebagai SQL Server terkait server. (SMO hanya tersedia untuk Microsoft SQL Server 2005.) Dalam semua kasus ini, Anda harus selalu mengatur properti empat berikut:
  • The Nama bahwa Anda ingin menggunakan untuk server terkait.
  • OLE DB Penyedia Itulah yang akan digunakan untuk sambungan.
  • The sumber data atau lengkap lintasan dan nama berkas untuk buku kerja Excel.
  • The penyedia string, yang mengidentifikasi target sebagai buku kerja Excel. Secara default, Penyedia Jet mengharapkan akses database.
Sistem yang disimpan prosedur sp_addlinkedserver juga mengharapkan @ srvproduct properti, yang dapat setiap nilai string.

Catatan Jika Anda menggunakan SQL Server 2005, Anda harus menentukan nilai yang tidak kosong untuk Nama produk properti di SQL Server Management Studio atau untuk @ srvproduct properti di prosedur yang tersimpan untuk sumber data Excel.

Menggunakan SQL Server Management Studio atau Enterprise Manager untuk mengkonfigurasi sumber data Excel sebagai server terkait

SQL Server Management Studio (SQL Server 2005)
  1. Dalam SQL Server Management Studio, memperluas Server objek dalam Objek Explorer.
  2. Klik kanan Terkait server, lalu klik Terkait server baru.
  3. Di panel kiri, pilih General Halaman, dan kemudian ikuti langkah-langkah berikut:
    1. Dalam kotak teks pertama, ketik nama untuk server terkait.
    2. Pilih Sumber data lain pilihan.
    3. Dalam Penyedia Daftar, klik Penyedia DB OLE Microsoft Jet 4.0.
    4. Dalam Nama produk kotak, jenis Excel untuk nama sumber data OLE DB.
    5. Dalam Sumber data Ketik jenis penuh dan nama berkas Excel.
    6. Dalam Penyedia string kotak, jenis Excel 8.0 untuk Excel 2002, Excel 2000 atau Excel 97 buku kerja.
    7. Klik Oke untuk membuat terkait server baru.
Catatan Dalam SQL Server Management Studio, Anda tidak dapat memperluas nama terkait server baru untuk melihat daftar obyek yang berisi server.
Enterprise Manager (SQL Server 2000)
  1. Dalam Enterprise Manager, klik untuk membuka Keamanan folder.
  2. Klik kanan Terkait server, lalu klik Terkait server baru.
  3. Pada General tab, ikuti langkah berikut:
    1. Dalam kotak teks pertama, ketik nama untuk terhubung server.
    2. Dalam Jenis server kotak, klik Sumber data lain.
    3. Dalam Penyedia nama Daftar, klik Penyedia DB OLE Microsoft Jet 4.0.
    4. Dalam Sumber data Ketik jenis nama jalan dan file Excel file.
    5. Dalam Penyedia string kotak, jenis Excel 8.0 untuk Excel 2002, Excel 2000 atau Excel 97 buku kerja.
    6. Klik Oke untuk membuat terkait server baru.
  4. Klik untuk memperluas nama terkait server baru untuk memperluas Daftar obyek yang berisi.
  5. Di bawah nama terkait server baru, klik Tabel. Perhatikan bahwa Anda lembar kerja dan kisaran bernama muncul di kanan panel.

Menggunakan prosedur yang tersimpan untuk mengkonfigurasi sumber data Excel sebagai server terkait

Anda juga dapat menggunakan prosedur sistem yang disimpan sp_addlinkedserver untuk mengkonfigurasi sumber data Excel sebagai server terkait:
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
				
Seperti disebutkan di atas, ini disimpan prosedur memerlukan tambahan, sewenang-wenang nilai string @ srvproduct argumen, yang muncul sebagai "Nama produk" di perusahaan Manajer dan SQL Server Management Studio konfigurasi. The @ lokasi dan @ Katalog argumen tidak digunakan.

Menggunakan SQL-DMO mengkonfigurasi sumber data Excel sebagai server terkait

Anda dapat menggunakan SQL didistribusikan manajemen objek untuk mengkonfigurasi Sumber data Excel sebagai server terkait pemrograman dari Microsoft Visual Basic atau lain bahasa pemrograman. Anda harus memberikan argumen empat yang sama yang diperlukan dalam konfigurasi manajer Enterprise dan 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.Close
End Sub
				

Menggunakan SMO mengkonfigurasi sumber data Excel sebagai server terkait

Dalam SQL Server 2005, Anda dapat menggunakan SQL Server manajemen objek (SMO) untuk mengkonfigurasi sumber data Excel sebagai server terkait pemrograman. Untuk melakukan ini, Anda dapat menggunakan Microsoft Visual Basic.NET atau bahasa pemrograman lain. Anda harus memberikan argumen yang diperlukan dalam konfigurasi SQL Server Management Studio. Model objek SMO meluas dan menggantikan model objek didistribusikan manajemen objek (SQL-DMO). Karena SMO kompatibel dengan SQL Server versi 7.0, SQL Server 2000, dan SQL Server 2005, Anda juga dapat menggunakan SMO untuk konfigurasi SQL Server 2000.
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

Public 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 Sub
End Class

Query sumber data Excel pada server terkait

Setelah Anda mengkonfigurasi sumber data Excel sebagai server terhubung, Anda dapat dengan mudah permintaan data dari Query Analyzer atau aplikasi klien lainnya. Sebagai contoh, untuk mengambil baris data yang disimpan dalam Sheet1 dari Anda Excel file, kode berikut menggunakan server terkait yang Anda dikonfigurasi oleh menggunakan SQL-DMO:
SELECT * FROM XLTEST_DMO...Sheet1$
				
Anda juga dapat menggunakan OPENQUERY untuk query Excel terkait server di "passthrough" cara, sebagai berikut:
SELECT * FROM OPENQUERY(XLTEST_DMO, 'SELECT * FROM [Sheet1$]')
				
Argumen pertama OPENQUERY mengharapkan bahwa adalah nama server yang terkait. Delimiters diperlukan untuk nama-nama lembar kerja, seperti yang ditunjukkan di atas.

Kamu bisa juga mendapatkan daftar semua tabel yang tersedia pada Excel yang terkait server dengan menggunakan query berikut:
EXECUTE SP_TABLES_EX 'XLTEST_DMO'
				

Query sumber data Excel dengan menggunakan pertanyaan didistribusikan

Anda dapat menggunakan query SQL Server didistribusikan dan OPENDATASOURCE atau OPENROWSET fungsi untuk query jarang diakses Excel sumber data pada Ad hoc dasar.

Catatan Jika Anda menggunakan SQL Server 2005, pastikan bahwa Anda telah mengaktifkan Ad Hoc didistribusikan Queries pilihan dengan menggunakan SQL Server permukaan daerah konfigurasi, seperti dalam contoh berikut:
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
   'Data Source=c:\book1.xls;Extended Properties=Excel 8.0')...Sheet1$
				
Perlu dicatat bahwa OPENROWSET menggunakan sintaks jarang untuk yang kedua ("penyedia Argumen untaian"):
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
   'Excel 8.0;Database=c:\book1.xls', Sheet1$)
				
Sintaks yang objek Data ActiveX (ADO) pengembang mungkin mengharapkan untuk gunakan untuk argumen ("penyedia String") kedua dengan OPENROWSET:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
   'Data Source=c:\book1.xls;Extended Properties=Excel 8.0', Sheet1$)
				
Sintaks ini menimbulkan galat berikut dari penyedia Jet:
Tidak dapat menemukan ISAM diinstal.
CatatanKesalahan ini juga terjadi jika Anda memasukkan DataSourceMelainkan Sumber data. Sebagai contoh, berikut argumen salah:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'DataSource=c:\book1.xls;Extended Properties=Excel 8.0', Sheet1$) 
				

REFERENSI

Karena SQL Server terkait server dan didistribusikan permintaan menggunakan OLE penyedia DB, panduan umum dan memperingatkan tentang menggunakan ADO dengan Excel berlaku di sini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
257819Bagaimana menggunakan ADO dengan data Excel dari Visual Basic atau VBA
Untuk informasi lebih lanjut tentang SQL Server manajemen objek, kunjungi Web site Microsoft Developer Network (MSDN) berikut:
.aspx http://msdn2.Microsoft.com/en-us/library/ms162169 (ide)
Untuk selengkapnya tentang cara mengaktifkan Ad Hoc didistribusikan Queries pilihan, kunjungi Website MSDN berikut:
.aspx http://msdn2.Microsoft.com/en-us/library/ms189978 (ide)

Properti

ID Artikel: 306397 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • 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
Kata kunci: 
kbsqlsetup kbdatabase kbhowto kbjet kbmt KB306397 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:306397

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com