簡體   English   中英

使用查詢將SQL Server數據導出到Excel

[英]Export Sql server data to Excel by using Query

我正在嘗試使用sql查詢將SQL Server數據導出到excel文件。 但是我出錯了

OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "Unspecified error". Msg 7303, Level 16, State 1, Line 1 Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".

我正在使用的查詢

select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\share\Test1.xlsx;HDR=YES','SELECT id FROM [Sheet1$]') SELECT id FROM Table

我也啟用了

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


 EXEC master.dbo.sp_MSset_oledb_prop 'Microsoft.Jet.OLEDB.4.0', 'AllowInProcess', 0 
GO 
EXEC master.dbo.sp_MSset_oledb_prop 'Microsoft.Jet.OLEDB.4.0', 'DynamicParameters', 0
GO 

我還以完全權限共享了我的文件夾。 我已經為Excel文件賦予了與表名相同的標題,但存在相同的錯誤

您使用的連接是錯誤的:是JET驅動程序

  • 用於讀取/寫入各種類型的平面文件
  • 指向一個名為c:\\ share \\ test1.xlsx的文件
  • 已過時,並且已被ACE驅動程序取代。

您需要重新編寫代碼。 本文為如何做到這一點提供了一個好主意。 您一定不能錯過,並且應該首先做的是標題為ADO對象庫的引用

您可能會對代碼所做的事情有很多疑問(例如,什么是INTEGRATED SECURITY = SSPI?還有更多負載),所以我不想回答它們,因為我不得不寫一個一本書的第一章,我不知道您是否會問其中的任何一個。 我建議您閱讀本文,嘗試使用代碼,然后在此處將一些獨立的問題發布到非公開帖子中。

一旦線索; 這段代碼:

'Connect to the Pubs database on the local server.
strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"

...正在指定數據庫服務器和數據庫名稱。 如果不是本地計算機,則用數據庫服務器的名稱替換(本地)。 pubs名稱是數據庫的名稱。 用您的數據庫替換。

另外,這一點:

' Extract the required records.
.Open "SELECT * FROM Authors"

此處,“ SELECT * from Authors”是用於定義查詢將返回的數據的SQL。 您需要用SQL替換它,它將從數據庫中獲取所需的數據。 同樣,這是一個相當大的主題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM