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

Cara mengimpor data dari Excel ke SQL Server

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.

Klik disini untuk melihat versi Inggris dari artikel ini: 321686
Ringkasan
Artikel selangkah demi selangkah ini menunjukkan cara mengimpor data dari lembar kerja Microsoft Excel ke pangkalan data Microsoft SQL Server dengan menggunakan berbagai metode.

back to the top

Deskripsi tentang teknik

Contoh dalam artikel ini mengimpor Excel data dengan menggunakan:
  • SQL Server layanan transformasi Data (DTS)
  • Microsoft SQL Server 2005 integrasi layanan (SSIS)
  • Terkait Server SQL Server
  • SQL Server didistribusikan permintaan
  • Obyek Data ActiveX (ADO) dan penyedia Microsoft OLE DB SQL Server
  • ADO dan penyedia Microsoft OLE DB untuk Jet 4.0
back to the top

Persyaratan

Daftar berikut ini mencantumkan peranti penangkap keras yang disarankan, peranti penangkap lunak, jaringan infrastruktur, dan Service Pack yang diperlukan:
  • Tersedia contoh Microsoft SQL Server 7.0 atau Microsoft SQL Server 2000 atau Microsoft SQL Server 2005
  • Microsoft Visual Basic 6.0 untuk sampel ADO yang menggunakan Visual Basic
Bagian dari artikel ini mengasumsikan bahwa Anda sudah terbiasa dengan topik berikut ini:
  • Layanan transformasi data
  • Server tertaut dan permintaan terdistribusi
  • Pengembangan ADO dalam Visual Basic
back to the top

Sampel

Impor vs. Append

Contoh pernyataan SQL yang digunakan dalam artikel ini menunjukkan Daftar Tabel membuat permintaan yang mengimpor Excel data ke Daftar Tabel SQL Server baru dengan menggunakan pilih... KE... DARI sintaks. Anda dapat mengkonversi pernyataan berikut ini untuk menambahkan permintaan dengan menggunakan masukkan ke... PILIH... DARI sintaks sementara Anda terus referensi objek sumber dan tujuan seperti yang ditunjukkan pada contoh kode berikut ini.

back to the top

Gunakan DTS atau SSIS

Anda dapat menggunakan Wisaya Impor SQL Server Data transformasi Layanan (DTS) atau SQL Server impor dan Ekspor Wizard Impor Excel data ke Daftar Tabel SQL Server. Ketika Anda meningkatkan melalui wizard dan memilih Daftar Tabel sumber Excel, ingat bahwa nama objek Excel yang ditambahkan dengan tanda dolar ($) mewakili lembar kerja (misalnya, Sheet1$), dan bahwa nama objek polos tanpa tanda dolar mewakili Excel bernama kisaran.

back to the top

Menggunakan Server tertaut

Untuk menyederhanakan permintaan, Anda dapat mengkonfigurasi buku kerja Excel sebagai server tertaut di SQL Server.Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
306397 HOWTO: Menggunakan Excel dengan SQL Server server tertaut dan permintaan terdistribusi
Kode berikut mengimpor data dari lembar kerja pelanggan di server tertaut Excel "EXCELLINK" ke Daftar Tabel SQL Server baru bernama XLImport1:
SELECT * INTO XLImport1 FROM EXCELLINK...[Customers$]				
Anda juga dapat mengeksekusi kueri terhadap sumber passthrough cara menggunakan OPENQUERY sebagai berikut:
SELECT * INTO XLImport2 FROM OPENQUERY(EXCELLINK,    'SELECT * FROM [Customers$]')				
back to the top

Gunakan permintaan terdistribusi

Jika Anda tidak ingin mengkonfigurasi sambungan yang tetap ke buku kerja Excel sebagai server tertaut, Anda dapat mengimpor data untuk tujuan tertentu dengan menggunakan OPENDATASOURCE atau fungsi OPENROWSET. Contoh kode berikut juga mengimpor data dari lembar kerja Excel pelanggan ke Daftar Tabel SQL Server baru:
SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$]SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\test\xltest.xls', [Customers$])SELECT * INTO XLImport5 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\test\xltest.xls', 'SELECT * FROM [Customers$]')				
back to the top

Menggunakan ADO dan SQLOLEDB

Ketika Anda terhubung ke SQL Server di aplikasi ADO dengan menggunakan Microsoft OLE DB untuk SQL Server (SQLOLEDB), Anda dapat menggunakan sintaks "terdistribusi permintaan" yang sama dari Menggunakan permintaan terdistribusi Bagian untuk mengimpor Excel data ke SQL Server.

Contoh kode Visual Basic 6.0 berikut mengharuskan Anda menambahkan proyek referensi ke objek data ActiveX (ADO). Sampel kode ini juga menunjukkan cara menggunakan OPENDATASOURCE dan OPENROWSET melalui sambungan SQLOLEDB.
    Dim cn As ADODB.Connection    Dim strSQL As String    Dim lngRecsAff As Long    Set cn = New ADODB.Connection    cn.Open "Provider=SQLOLEDB;Data Source=<server>;" & _        "Initial Catalog=<database>;User ID=<user>;Password=<password>"    'Import by using OPENDATASOURCE.    strSQL = "SELECT * INTO XLImport6 FROM " & _        "OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', " & _        "'Data Source=C:\test\xltest.xls;" & _        "Extended Properties=Excel 8.0')...[Customers$]"    Debug.Print strSQL    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected: " & lngRecsAff    'Import by using OPENROWSET and object name.    strSQL = "SELECT * INTO XLImport7 FROM " & _        "OPENROWSET('Microsoft.Jet.OLEDB.4.0', " & _        "'Excel 8.0;Database=C:\test\xltest.xls', " & _        "[Customers$])"    Debug.Print strSQL    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected: " & lngRecsAff    'Import by using OPENROWSET and SELECT query.    strSQL = "SELECT * INTO XLImport8 FROM " & _        "OPENROWSET('Microsoft.Jet.OLEDB.4.0', " & _        "'Excel 8.0;Database=C:\test\xltest.xls', " & _        "'SELECT * FROM [Customers$]')"    Debug.Print strSQL    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected: " & lngRecsAff    cn.Close    Set cn = Nothing				
back to the top

Menggunakan ADO dan penyedia Jet

Contoh di bagian sebelumnya menggunakan ADO penyedia SQLOLEDB untuk menyambung ke tujuan impor Excel untuk SQL Anda. Anda juga dapat menggunakan Penyedia OLE DB untuk Jet 4.0 untuk menyambung ke sumber Excel.

mesin database Jet dapat referensi eksternal database dalam pernyataan SQL dengan menggunakan sintaks khusus yang memiliki tiga format yang berbeda:
  • [Lintasan lengkap untuk Microsoft Access database]. [Nama Daftar Tabel]
  • [Nama Islam Terpadu;Rangkaian sambungan Islam Terpadu]. [Nama Daftar Tabel]
  • [ODBC;Rangkaian sambungan ODBC]. [Nama Daftar Tabel]
Bagian ini menggunakan format ketiga untuk membuat sambungan ODBC untuk pangkalan data SQL Server tujuan. Anda dapat menggunakan ODBC nama data sumber (DSN) atau kurang DSN koneksi string:
DSN:    [odbc;DSN=<DSN name>;UID=<user>;PWD=<password>]DSN-less:   [odbc;Driver={SQL Server};Server=<server>;Database=<database>;       UID=<user>;PWD=<password>]				
Contoh kode Visual Basic 6.0 berikut mengharuskan Anda menambahkan referensi proyek ADO. Sampel kode ini menunjukkan cara mengimpor Excel data ke SQL Server melalui sambungan ADO menggunakan penyedia 4.0 Jet.
    Dim cn As ADODB.Connection    Dim strSQL As String    Dim lngRecsAff As Long    Set cn = New ADODB.Connection    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _        "Data Source=C:\test\xltestt.xls;" & _        "Extended Properties=Excel 8.0"        'Import by using Jet Provider.    strSQL = "SELECT * INTO [odbc;Driver={SQL Server};" & _        "Server=<server>;Database=<database>;" & _        "UID=<user>;PWD=<password>].XLImport9 " & _        "FROM [Customers$]"    Debug.Print strSQL    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected: " & lngRecsAff            cn.Close    Set cn = Nothing				
Anda juga dapat menggunakan sintaks ini, yang mendukung penyedia Jet untuk mengimpor Excel data ke lainnya Microsoft Access database, indeks berurutan akses metode (Islam Terpadu) ("desktop") database atau database ODBC.

back to the top

Pemecahan masalah

  • Ingat bahwa nama objek Excel yang ditambahkan dengan tanda dolar ($) mewakili lembar kerja (misalnya, Sheet1$) dan nama objek biasa mewakili Excel kisaran bernama.
  • Dalam beberapa situasi, terutama saat Anda menetapkan Excel data sumber dengan menggunakan nama Daftar Tabel dan bukan permintaan pilih, kolom dalam Daftar Tabel SQL Server tujuan diurutkan sesuai urutan menurun abjad.Untuk informasi tambahan tentang masalah ini dengan penyedia Jet, klik nomor artikel di bawah ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    299484 PRB: Kolom disusun secara alfabetis ketika Anda menggunakan ADOX untuk mengambil Kolom Bertumpuk akses
  • Ketika penyedia Jet menentukan bahwa Excel kolom berisi campuran teks dan data numerik, penyedia Jet memilih jenis data "sebagian" dan gulung balik nilai tidak cocok sebagai NULLs.Untuk informasi tambahan tentang cara mengatasi masalah ini, klik nomor artikel di bawah ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
    194124 PRB: Excel nilai yang dikembalikan sebagai NULL menggunakan DAO OpenRecordset
back to the top
Referensi
Untuk informasi tambahan tentang cara menggunakan Excel sebagai data sumber, klik nomor artikel di bawah ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
257819 HOWTO: Menggunakan ADO dengan Data Excel dari Visual Basic atau VBA
Untuk informasi tambahan tentang cara mentransfer data ke Excel, klik nomor artikel di bawah ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
295646 HOWTO: Transfer Data dari data sumber ADO untuk Excel dengan ADO
247412 INFO: Metode untuk mentransfer Data ke Excel dari Visual Basic
246335 HOWTO: Transfer Data dari ADO Recordset untuk Excel dengan otomatisasi
319951 CARA: Mentransfer Data ke Excel dengan menggunakan layanan transformasi Data SQL Server
306125 CARA: Mengimpor Data dari SQL Server ke Microsoft Excel
back to the top
Excel sql ado dts sqloledb jet

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 321686 - Tinjauan Terakhir: 09/05/2015 06:59:00 - Revisi: 12.0

Microsoft Excel 2000 Standard Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft Excel 2002 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbhowtomaster kbjet kbmt KB321686 KbMtid
Tanggapan
tml> var Ctrl = ""; document.write("