Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Excel ke SQL Server dengan Microsoft.ACE.OLEDB.12.0

Seperti yang dikatakan Philip...pertama periksa eksekusi xp_cmdshell. Jika tidak berjalan karena masalah izin, konfigurasikan ulang opsi ini terlebih dahulu dengan menjalankan

SP_CONFIGURE 'XP_CMDSHELL',1
GO             
RECONFIGURE

setelah ini jalankan perintah berikut untuk mengaktifkan izin server tertaut untuk kemampuan InProcess untuk driver ACE:

USE [master]
GO
EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
GO

EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1
GO

Sekarang jalankan rangkaian perintah ini :

sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE

jika terjadi kesalahan maka jalankan setiap perintah secara terpisah. Dan akhirnya jalankan impor semua data excel Anda ke SQL server dengan menjalankan perintah yang disebutkan di bawah ini:

SELECT * INTO TargetTableName FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
                         'Excel 12.0;Database=FilePath\fileName.xlsx;HDR=YES',
                         'SELECT * FROM [sheetName$]')

Ingat bahwa dalam kasus xls Anda harus menggunakan Jet Driver bukan ACE. Dan juga TargetTableName tidak boleh ada sebelum menjalankan kueri ini. Selamat coding :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah Fungsi Bernilai Tabel di SQL Server

  2. Keunggulan Kinerja SQL Server 2016 Enterprise Edition

  3. sql query untuk mengembalikan perbedaan antara dua tabel

  4. Bagaimana cara memaksa pengumpul sampah filestream untuk menyelesaikan pekerjaannya dengan prioritas tertinggi?

  5. Bagaimana TRY_CAST() Bekerja di SQL Server