MSSQL:用openrowset增改查xlsx



注意:

1、首先要允許使用ACE及動態參數

2、excel12.0應寫爲“excel 12.0” 


1、查

--允許在進程中使用ACE.OLEDB.12
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess'1
    --允許動態參數
    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters'1

select * from openrowset('Microsoft.ACE.OLEDB.12.0','excel 12.0;hdr=yes;imex=1;Database=d:/excel.xlsx','select * from [sheet1$]')


2、增

insert into  openrowset('Microsoft.ACE.OLEDB.12.0','excel 12.0;hdr=yes;imex=1;Database=d:/excel.xlsx','select * from [sheet1$]') values('王寧')

消息 7399,級別 16,狀態 1,第 24 行
鏈接服務器 "(null)" 的 OLE DB 訪問接口 "Microsoft.ACE.OLEDB.12.0" 報錯。提供程序指示用戶沒有執行該操作的權限。
消息 7343,級別 16,狀態 2,第 24 行
鏈接服務器 "(null)" 的 OLE DB 訪問接口 "Microsoft.ACE.OLEDB.12.0" 無法 INSERT INTO 表 "[Microsoft.ACE.OLEDB.12.0]"。

不支持嗎?寫的是沒有權限啊,如何纔能有權限呢?


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章