使用openrowset将临时表数据或存储过程导出到excel

时间:2018-08-10 09:21:20

标签: sql-server

我有一个过程,在该过程中,我创建了全局临时表,并且通常“从临时表中选择”给出输出。当我在openrowset命令中使用它导出到excel时遇到错误

    Msg 7399, Level 16, State 1, Line 2
    The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an error. The provider did not give any information about the error.
    Msg 7303, Level 16, State 1, Line 2
    Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

首先,我只尝试了直接存储过程,但出现了相同的错误 然后与本地临时表也相同的错误 然后使用全局临时表给出相同的错误

当我使用普通查询时,我将获得excel文件。我的查询就像波纹管

    exec Proc_CardexSystem  @periodical_id=150,@periodicity='',@from_year=2014,@to_year=2018
    insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;Database="C:/Users/Mahantesh/Desktop/cardex.xlsx;',
    'select * from [CurrentCirculationList$]')select * from ##cte2_results

在过程中,我已将临时表创建为波纹管格式,并且该过程也包含“ cte”

    if OBJECT_ID('tempdb..##othertemp_table') is not null
    drop table ##othertemp_table
    if OBJECT_ID('tempdb..##temp_table ') is not null
    drop table ##temp_table 
    select columns into ##temp_table from ##othertemp_table

0 个答案:

没有答案