Использование openrowset в SQL Server 2014 - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть следующий оператор SQL, который я использовал для получения данных из хранимой процедуры во временную таблицу

 SET @sql = N'SELECT * INTO #CustomTable3HTML      
             FROM
                 OPENROWSET(''SQLNCLI'',''Server='+ @@SERVERNAME +';UID='+@UserName+';PWD='+@Password+';Database=SalesDeals'',
      ''SET NOCOUNT ON;SET FMTONLY OFF;EXEC  dbo.prGetDealProposalDetail ''''' + @DealID + ''''',''''' + @FeeType +''''''')
     '     
EXEC sp_executesql @sql

В SQL Server 2008 это работало нормально, но после обновления сервера до SQL Server 2014 я начал получать эту ошибку:

Метаданные не могут быть определены, так как оператор 'Insert #TempDetail exec prExcelCalculations_GetPricingSummary @ Dealno,' FSA '' в процедуре 'prGetDealProposalDetail' использует временную таблицу.

Это потому, что в хранимой процедуре, которую я вызываю в Openrowset, вызывается другая процедура и используются временные таблицы. Столбцы являются динамическими.

Может кто-нибудь, пожалуйста, дайте мне знать, что я могу сделать, чтобы это исправить?

...