Rumah >pangkalan data >tutorial mysql >Mengapa Pelayan SQL Saya Tidak Boleh Menggerakkan Penyedia OLE DB untuk Eksport Pelayan Terpaut ke Excel?

Mengapa Pelayan SQL Saya Tidak Boleh Menggerakkan Penyedia OLE DB untuk Eksport Pelayan Terpaut ke Excel?

Susan Sarandon
Susan Sarandonasal
2024-12-20 20:40:10406semak imbas

Why Can't My SQL Server Instantiate the OLE DB Provider for Linked Server Exports to Excel?

Tidak Dapat Menggerakkan Penyedia OLE DB untuk Pelayan Terpaut

Masalah:

Apabila cuba untuk eksport data daripada jadual ke Excel menggunakan pertanyaan T-SQL, ralat "Tidak boleh membuat contoh Pembekal OLE DB Microsoft.Jet.OLEDB.4.0 untuk pelayan terpaut null" berlaku.

Punca:

Ralat ini biasanya timbul apabila:

  • Pengguna tidak mempunyai kebenaran yang mencukupi untuk mengakses folder sementara yang digunakan oleh OPENROWSET.
  • Pembekal OLE DB 32-bit (Microsoft.Jet.OLEDB.4.0) tidak boleh dimuatkan dalam proses pada Pelayan SQL 64-bit.

Penyelesaian untuk SQL 64-bit Pelayan:

  1. Muat turun dan pasang Microsoft.ACE.OLEDB.12.0 untuk Windows 64-bit.
  2. Berikan akses kepada sementara direktori (C:WindowsServiceProfilesNetworkServiceAppDataLocalTemp untuk akaun perkhidmatan rangkaian) ke akaun yang menjalankan SQL Pelayan.
  3. Dayakan Pertanyaan Teragih Ad Hoc dan konfigurasikan sifat Microsoft.ACE.OLEDB:

    SP_CONFIGURE 'show advanced options', 1;
    GO
    RECONFIGURE;
    SP_CONFIGURE 'Ad Hoc Distributed Queries', 1;
    GO
    RECONFIGURE;
    EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
    EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
  4. Daftar msexcl40.dll:

    regsvr32 C:\Windows\SysWOW64\msexcl40.dll

Nota Tambahan:

  • Untuk SQL Server 2014 dan kemudian, gunakan "DynamicParameters" dan bukannya "DynamicParam" dalam arahan EXEC sp_MSset_oledb_prop.
  • Pastikan bahawa pengguna yang menjalankan pertanyaan mempunyai keistimewaan yang diperlukan, seperti "MENYADAKAN" dan "UBAH MANA-MANA ​​SERVER TERPAUT."
  • Jika masih menghadapi masalah, semak sama ada " MessageBoxText" ditetapkan kepada "3" dalam Pengurus Konfigurasi Pelayan SQL di bawah "Pembekal OLE DB Tetapan."

Atas ialah kandungan terperinci Mengapa Pelayan SQL Saya Tidak Boleh Menggerakkan Penyedia OLE DB untuk Eksport Pelayan Terpaut ke Excel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn