Reynald Aceberos Ответов: 1

Вызов сохраненного proc и сохранение его во временной таблице ошибка


Привет ребята у меня есть проблема и я не знаю
вот мой код...


я просто пытаюсь вызвать процедуру и вставить ее во временную таблицу,

Примечание: # когда im я вызываю хранимую процедуру без ее вставки, нет никаких проблем, но когда я добавляю "insert into #TempTable22", ошибка теперь будет promt.
мне интересно, где я ошибся

вот полный текст сообщения об ошибке

"Msg 3930, Уровень 16, Состояние 1, Процедура Sp_AutoJV_SalesSummary_GetChargedetailsnodgv2_fortest, Строка 46 [Строка Запуска Пакета 73]
Текущая транзакция не может быть зафиксирована и не может поддерживать операции записи в файл журнала. Откатите транзакцию.
Msg 208, Уровень 16, Состояние 0, Процедура Sp_AutoJV_SalesSummary_GetChargedetailsnodgv2_fortest, Строка 835 [Строка Запуска Пакета 73]
Недопустимое имя объекта '#станций.
Msg 3930, Уровень 16, Состояние 1, Процедура Sp_AutoJV_SalesSummary_Report_Fortest2, Строка 63 [Строка Запуска Пакета 73]
Текущая транзакция не может быть зафиксирована и не может поддерживать операции записи в файл журнала. Откатите транзакцию.

(0 строк) затронуты)"



Begin
CREATE TABLE #TempTable22
(
   ChargeType             Int,
   ChargeCode             varchar(250),
   CarrierCode            varchar(250),
   Market                 varchar(250),
   CurrencyCode           varchar(250),
   PaymentMethodCode      varchar(250),
   ForiegnCurrencyCode    varchar(250),
   ChargeAmount           Float,
   ForiengAmount          Float,
   MarketCharge           varchar(250),
   DirectRate             Float,
   ExcessBagCommisionRate Float

)
Insert Into #TempTable22
Exec [dbo].[Sp_AutoJV_SalesSummary_ForTest]  @DateFrom,@DateTo,@CurrencyCode,@OrganizationCode,@OrgCurrencyCode,@LocationCode,@Market,@Sales,@PaymentMethodCode;

End

Begin
select 

   ChargeType,            
   ChargeCode,           
   CarrierCode,           
   Market,                
   CurrencyCode,          
   PaymentMethodCode,  
   ForiegnCurrencyCode,  
   ChargeAmount, 
   ForiengAmount,     
   MarketCharge,     
   DirectRate,      
   ExcessBagCommisionRate,
   0 * ExcessBagCommisionRate as Test 


 from
 #TempTable22

End


Что я уже пробовал:

я понятия не имею, почему я получил это сообщение об ошибке, так как если бы я просто позвонил в
Exec [dbo].[Sp_AutoJV_SalesSummary_ForTest]  @DateFrom,@DateTo,@CurrencyCode,@OrganizationCode,@OrgCurrencyCode,@LocationCode,@Market,@Sales,@PaymentMethodCode;
нет ошибка, и я кстати через MSSQL сервер

1 Ответов

Рейтинг:
2

Wendelius

Судя по сообщению об ошибке, проблема, по-видимому, находится внутри процедуры

Sp_AutoJV_SalesSummary_GetChargeDetailsNoDGV2_ForTest
поэтому я начал бы искать оттуда.

Te get you you started, у вас есть 2 строки, указанные в сообщении об ошибке. Итак внутри этой процедуры взгляните на линии
- Строка 46, проблема транзакции
- Строка 835, проблема с именем

Обратите внимание, что во второй строке (835) у вас есть проблема с именем. Вы пытаетесь использовать несуществующий объект '#Stations'
Invalid object name '#Stations'.

Исходя из этого сообщения об ошибке, может быть, параметры влияют на выполнение так, что вы не столкнулись с проблемой при вызове процедуры отдельно, но при вызове из другой процедуры выполнение отличается.

Чтобы получить более подробную информацию, мы должны увидеть код процедуры, вызывающей проблему.