2014-03-12 2 views
0

쿼리에 parameter2를 추가 한 후 오류 메시지가 나타납니다. SQL Server 오류 "String Data, Right Truncation".SQL : Parameters from excel generate error : 문자열 데이터, 오른쪽 잘림

매개 변수는 Excel 2010 스프레드 시트에서 사용자가 입력하고 SQL 문에서 보고서를 업데이트하는 데 사용됩니다.

예 :

회계 연도 (매개 변수 1) : 2014 년 GL 날짜 (매개 변수 2) YYYYMMDD : 20140228 오류에 의해 생성되는

: "GLPOST.JRNLDATE < =" which is parameter2

WHERE GLAMF.ACCTID = GLPOST.ACCTID AND GLACGRP.ACCTGRPCOD = GLAMF.ACCTGRPCOD AND 
GLPOST.DRILLDWNLK = BKTRAND.DDLINK AND GLACGRP.SORTCODE='1000' AND 
GLPOST.FISCALYR>=? AND GLPOST.JRNLDATE<=? 

데이터베이스에서 GLPOST.FISCALYR은 (char (4), null이 아님) 잘 작동합니다.
GLPOST.JRNLDATE가 (십진 (9,0), 널이 아님) 오류가 발생합니다. 20140228, 20131231 등과 같이 하드 코딩 된 값을 입력하면 작동하지만 셀에서 값을 가져 오는 것처럼 보이지 않습니다.

나는 다른 포맷을 시도했지만 아무런 성공이 없었습니다. 감사!!

답변

1

다음과 같이 매개 변수를 캐스팅 해보세요.

GLPOST.FISCALYR> =? AND GLPOST.JRNLDATE < = 캐스트 (?로 소수 (9,0))

+0

나는 캐스팅을 시도했지만 작동하지 않았다. 그러나 parameter1 (회계 연도) 제거하면 쿼리가 잘 실행됩니다. 어쩌면 parameter2 (char (4))에 대한 값이 parameter1에 푸시되었습니다 ... – Seva

+0

매개 변수를 추가하는 데 사용하는 코드를 게시 할 수 있습니까? – attila

+0

코드는 위에 게시 한 것과 정확히 동일합니다. ODBC 연결이고 코드는 다음과 같습니다. "명령 텍스트"및 각 "?" Excel 스프레드 시트의 셀과 연결되어 있습니다. 문제는 어딘가에 있다고 생각합니다. – Seva