在用程序執(zhí)行SQL里的導(dǎo)入其它格式庫的存儲過程時(如導(dǎo)入DBF,EXCEL,ACCESS到SQL SERVER庫的存儲過程),會提示:
錯誤類型:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
已拒絕對 OLE DB 提供程序 ''Microsoft.Jet.OLEDB.4.0'' 的特殊訪問。必須通過鏈接服務(wù)器來訪問此提供程序。
而直接在 查詢分析器 里執(zhí)行就不會報錯。
如下面語句格式的存儲過程
''insert into DBF_Cost(OP_TIME,MSISDN,CALL_FEE,P2P_FEE,MONTH_FEE,GPRS_FEE,MNET_FEE,TOTAL_FEE) select OP_TIME,MSISDN,CALL_FEE,P2P_FEE,MONTH_FEE,GPRS_FEE,MNET_FEE,TOTAL_FEE from OpenDataSource(''''Microsoft.Jet.OLEDB.4.0'''',''''Data Source="''+@path+''";User ID=;Password=;Extended properties=dBase 5.0'''')...''+@tname
出現(xiàn)該問題的原因是當前登錄SQL的帳戶權(quán)限不夠,需增加權(quán)限。
打開SQL SERVER,點開安全性,點擊登錄,如圖:
在右邊會出現(xiàn)所有的登錄帳戶,選擇你當前的登錄帳戶,右邊屬性,如圖:
在出現(xiàn)的 SQL SERVER登錄屬性 中選擇 服務(wù)器角色 ,然后勾選 System Administrators 項,確定,如圖: