在用程序執(zhí)行SQL里的導入其它格式庫的存儲過程時(如導入DBF,EXCEL,ACCESS到SQL SERVER庫的存儲過程),會提示:
錯誤類型:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
已拒絕對 OLE DB 提供程序 ''Microsoft.Jet.OLEDB.4.0'' 的特殊訪問。必須通過鏈接服務器來訪問此提供程序。
而直接在 查詢分析器 里執(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的帳戶權限不夠,需增加權限。
打開SQL SERVER,點開安全性,點擊登錄,如圖:
在右邊會出現(xiàn)所有的登錄帳戶,選擇你當前的登錄帳戶,右邊屬性,如圖:
在出現(xiàn)的 SQL SERVER登錄屬性 中選擇 服務器角色 ,然后勾選 System Administrators 項,確定,如圖: