Поддерживает ли JPA 2.0 переменные таблицы SQL Server?
Я использую JPA 2.0 и SQL Server 2008, и я решил, что JPA не любит мои хранимые процедуры, когда я использую переменную таблицы.
Например, этот sproc работает:
declare @t table
(
id int identity
, test varchar(50)
)
select 'blah' as test -- I'm ignoring the table variable above
Однако, когда я пытаюсь вставить что-то в переменную таблицы @t
с этим кодом, он сбой:
declare @t table
(
id int identity
, test varchar(50)
)
insert into @t
select cast(getdate() as varchar(60))
select * from @t
Я получаю следующую ошибку:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.
Error Code: 0
Мне бы очень хотелось переписать мои сложные sprocs, чтобы не использовать переменные таблицы, если я могу помочь.
Спасибо за любые предложения.
Ответы
Ответ 1
Случайная мысль: попробуйте добавить SET NOCOUNT ON.
Ваш код
insert into @t
select cast(getdate() as varchar(60))
select * from @t
... вернет это значение
(1 row(s) affected)
id test
----------- --------------------------------------------------
1 Jun 14 2011 3:58PM
(1 row(s) affected)
Существуют фактические три результата "элементы" из SQL Server. Первый не имеет никакого специального набора результатов.
... и бесстыдную вставку моего вопроса УСТАНОВИТЬ НАСТОЯЩЕЕ НАСТОЯЩЕЕ НАСТОЯЩЕЕ ВРЕМЯ использования, где разрываются ORM и это упоминается из-за этого