Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Cara menggunakan Excel dengan SQL Server terkait server dan permintaan terdistribusi

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

306397
Ringkasan
Microsoft SQL Server mendukung dasar ad hoc atau sambungan ke data sumber OLE DB pada tetap. Sambungan tetap dikenal sebagai server tertaut; ad hoc sambungan yang dibuat untuk satu permintaan disebut sebagai permintaan terdistribusi.

Buku kerja Microsoft Excel adalah salah satu jenis OLE DB data sumber yang Anda dapat meminta melalui SQL Server dengan cara ini. Artikel ini menjelaskan sintaks yang diperlukan untuk mengkonfigurasi data sumber Excel sebagai server tertaut, serta sintaks yang diperlukan untuk menggunakan permintaan terdistribusi permintaan tersebut data sumber Excel.
Informasi lebih lanjut

Menanyakan data sumber Excel di server tertaut

Anda dapat menggunakan SQL Server Management Studio atau Enterprise Manager, sistem disimpan prosedur, SQL-DMO (didistribusikan manajemen objek), atau SMO (SQL Server Management objek) untuk mengkonfigurasi data sumber Excel sebagai server tertaut SQL Server. (SMO tersedia hanya untuk Microsoft SQL Server 2005.) Dalam kasus ini, Anda harus selalu menetapkan properti empat berikut ini:
  • Nama yang ingin Anda gunakan untuk server tertaut.
  • OLE DB penyedia yang digunakan untuk sambungan.
  • data sumber atau lengkap garis jatuh berseri dan nama file untuk buku kerja Excel.
  • Penyedia string, yang menunjukkan target sebagai buku kerja Excel. secara asali, penyedia Jet mengharapkan database Access.
Prosedur tersimpan sistem sp_addlinkedserver juga mengharapkan properti @srvproduct , yang dapat berupa nilai string apa pun.

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

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

SQL Server Management Studio (SQL Server 2005)
  1. Pada SQL Server Management Studio, luaskan Objek Server di Object Explorer.
  2. Klik kanan-atas Terkait server, dan kemudian klik server tertaut baru.
  3. Di sebelah kiri, pilih Halaman umum , dan kemudian ikuti langkah-langkah berikut:
    1. Di kotak teks, ketik nama untuk server tertaut.
    2. Pilih <b00> </b00>data sumber lain opsi.
    3. Dalam daftar penyedia , klik Microsoft Jet 4.0 OLE DB penyedia.
    4. Di kotak nama produk , ketik Excel nama data sumber OLE DB.
    5. Di kotak data sumber , ketik garis jatuh berseri dan nama berkas Excel.
    6. Di kotak penyedia string , ketik Excel 8.0 untuk buku kerja Excel 2002, Excel 2000, atau Excel 97.
    7. Klik OK untuk membuat terkait server baru.
Catatan Di SQL Server Management Studio, Anda tidak dapat memperluas nama server tertaut baru untuk melihat daftar objek yang berisi server.
Enterprise Manager (SQL Server 2000)
  1. Di manajer perusahaan, klik untuk meluaskan folder keamanan .
  2. Klik kanan-atas Terkait server, dan kemudian klik server tertaut baru.
  3. Pada tab umum , ikuti langkah-langkah berikut:
    1. Di kotak teks, ketik nama untuk server tertaut.
    2. Di kotak jenis Server , klik data sumber lainnya.
    3. Dalam daftar nama penyedia , klik Microsoft Jet 4.0 OLE DB penyedia.
    4. Di kotak data sumber , ketik garis jatuh berseri dan nama berkas Excel.
    5. Di kotak penyedia string , ketik Excel 8.0 untuk buku kerja Excel 2002, Excel 2000, atau Excel 97.
    6. Klik OK untuk membuat terkait server baru.
  4. Klik untuk meluaskan nama server tertaut baru untuk memperluas thelist objek yang dimuat.
  5. nama server tertaut baru, klik Daftar Tabel. Perhatikan bahwa lembar kerja dan kisaran bernama muncul di rightpane.

Menggunakan prosedur yang disimpan untuk mengkonfigurasi data sumber Excel sebagai server tertaut

Anda juga dapat menggunakan prosedur tersimpan sistem sp_addlinkedserver untuk mengkonfigurasi data sumber Excel sebagai server terkait:
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				
Seperti yang disebutkan di atas, prosedur ini disimpan memerlukan nilai string tambahan, sembarang untuk @srvproduct argumen, yang muncul sebagai "Nama Produk" dalam konfigurasi Enterprise Manager dan SQL Server Management Studio. Argumen @location dan @catalog tidak digunakan.

Menggunakan SQL-DMO untuk mengkonfigurasi data sumber Excel sebagai server tertaut

Anda dapat menggunakan SQL didistribusikan manajemen objek untuk mengkonfigurasi data sumber Excel sebagai server tertaut secara sistematis dari Microsoft Visual Basic atau bahasa pemrogram lainnya. Anda harus menyediakan argumen empat yang sama yang diperlukan dalam konfigurasi Enterprise Manager 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.CloseEnd Sub				

Menggunakan SMO untuk mengkonfigurasi data sumber Excel sebagai server tertaut

SQL Server 2005, Anda dapat menggunakan SQL Server Management objek (SMO) untuk mengkonfigurasi data sumber Excel sebagai server tertaut secara programatik. Untuk melakukannya, Anda dapat menggunakan Microsoft Visual Basic .NET atau bahasa pemrogram lainnya. Anda harus menyediakan argumen yang diperlukan dalam konfigurasi SQL Server Management Studio. Model objek SMO memperluas 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.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

Menanyakan data sumber Excel di server tertaut

Setelah Anda mengkonfigurasi data sumber Excel sebagai server tertaut, Anda dapat dengan mudah permintaan data dari Query Analyzer atau aplikasi klien lainnya. Misalnya, untuk mengambil baris data yang disimpan di Sheet1 berkas Excel, kode berikut menggunakan server tertaut yang Anda dikonfigurasi dengan menggunakan SQL-DMO:
SELECT * FROM XLTEST_DMO...Sheet1$				
Anda juga dapat menggunakan OPENQUERY untuk meminta server tertaut Excel secara "passthrough", sebagai berikut:
SELECT * FROM OPENQUERY(XLTEST_DMO, 'SELECT * FROM [Sheet1$]')				
Argumen pertama yang OPENQUERY mengharapkan adalah nama server tertaut. Pembatas diperlukan untuk nama lembar kerja, seperti yang ditunjukkan di atas.

Anda juga dapat memperoleh daftar Daftar Tabel yang ada di server tertaut Excel dengan menggunakan kueri berikut ini:
EXECUTE SP_TABLES_EX 'XLTEST_DMO'				

Menanyakan data sumber Excel dengan menggunakan permintaan terdistribusi

Anda dapat menggunakan SQL Server didistribusikan pertanyaan dan fungsi OPENDATASOURCE atau OPENROWSET ke data sumber Excel permintaan jarang diakses secara ad hoc.

Catatan Jika Anda menggunakan SQL Server 2005, pastikan bahwa Anda telah mengaktifkan opsi Ad Hoc didistribusikan permintaan dengan menggunakan SQL Server permukaan Area konfigurasi, seperti dalam contoh berikut:
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',   'Data Source=c:\book1.xls;Extended Properties=Excel 8.0')...Sheet1$				
Perhatikan bahwa OPENROWSET menggunakan sintaks biasa untuk argumen kedua ("penyedia String"):
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',    'Excel 8.0;Database=c:\book1.xls', Sheet1$)				
Sintaks pengembang objek data ActiveX (ADO) mungkin berharap untuk menggunakan 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 ini dari penyedia Jet:
Tidak dapat menemukan Islam Terpadu diinstal.
Catatan Galat ini juga terjadi apabila Anda memasukkan data sumber Alih-alih data sumber. Sebagai contoh, argumen berikut ini benar:
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'DataSource=c:\book1.xls;Extended Properties=Excel 8.0', Sheet1$) 				
Referensi
Karena terkait Server SQL Server dan didistribusikan permintaan menggunakan OLE DB penyedia, panduan umum dan memperingatkan tentang menggunakan ADO dengan Excel berlaku di sini. Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
257819 Cara menggunakan ADO dengan data Excel dari Visual Basic atau VBA
Untuk informasi lebih lanjut tentang SQL Server Management objek, kunjungi situs web Microsoft Developer Network (MSDN) berikut:Untuk informasi selengkapnya tentang cara mengaktifkan opsi Ad Hoc didistribusikan permintaan , kunjungi website MSDN berikut:

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 306397 - Tinjauan Terakhir: 03/15/2015 05:42:00 - Revisi: 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 KbMtid
Tanggapan