2017-04-14 13 views
0

나는 nHibernate 문제를 추적하고있다. Exception thrown: 'NHibernate.Exceptions.GenericADOException' in NHibernate.dll이 전부입니다. 나는 show_sql을 true로 설정했습니다. 그래서 SQL Server Management Studio에서 수동으로 nHibernate에서 SQL을 시도 할 것이라고 생각했습니다. DECLARE 문을 추가했습니다. 이제이 오류가 발생합니다. '마지막 줄에서 실행할 때'@ p0 '근처의 구문이 잘못되었습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?nHibernate sql을 수동 sql로 변환

DECLARE @p0 VARCHAR(50); 
DECLARE @p1 INT; 
DECLARE @p2 DATETIME; 
DECLARE @p3 INT; 
DECLARE @p4 VARCHAR(10); 
DECLARE @p5 VARCHAR(50); 
DECLARE @p6 VARCHAR(80); 
DECLARE @p7 DECIMAL(11,2); 
DECLARE @p8 DATETIME; 
DECLARE @p9 VARCHAR(80); 
DECLARE @p10 INT; 
DECLARE @p11 VARCHAR(50); 

INSERT INTO MMDAML.dbo.tblMyProjectTable 
(Name, Size, UploadDate, RefId, RefType, Type, Alias, Amount, Date, Number, Stage, Caption) VALUES 
(@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10, @p11); 
select SCOPE_IDENTITY(); 
@p0 = 'Project317.png' [Type: String (4000)], @p1 = 77756 [Type: Int32 (0)], @p2 = 4/14/2017 10:51:54 AM [Type: DateTime (0)], @p3 = 317 [Type: Int32 (0)], @p4 = 'Project' [Type: String (4000)], @p5 = 'Invoice' [Type: String (4000)], @p6 = 'Contract.png' [Type: String (4000)], @p7 = 4455 [Type: Decimal (0)], @p8 = 4/14/2017 10:51:23 AM [Type: DateTime (0)], @p9 = '987987' [Type: String (4000)], @p10 = 0 [Type: Int32 (0)], @p11 = NULL [Type: String (4000)] 

답변

1

;이 배치를 분리하는 상징이다, 당신은 SET을 추가하거나 @p0 전에 다른 SELECT 키워드는 완전한 문장 만들기 위해. 예를 들어,

select SCOPE_IDENTITY(); 
SET @p0 = 'Project317.png'... 

또는

select SCOPE_IDENTITY(); 
SELECT @p0 = 'Project317.png'... 
+0

가 대부분의 방법을 나에게 가져옵니다. 또한 [Type : *]을 제거하고 날짜 매개 변수 값을 따옴표로 묶어야하고 INSERT 앞에 SET를 옮겨야했습니다. –

+0

네가 맞아. :) – LONG