2011-09-27 3 views
0

저장 프로 시저를 호출하여 응용 프로그램을 통해 레코드를 삽입하려고합니다. 저장 프로 시저가 실행될 때 다음 오류가 발생합니다.SP에서 직접 데이터를 삽입 할 수는 있지만 응용 프로그램에서 SP를 호출하면 실패합니다.

"데이터 형식을 nvarchar로 변환하는 중 오류가 발생했습니다. 데이터 형식 nvarchar를 datetime으로 변환하는 데 오류가 발생했습니다."

이 오류는 날짜를 보낼 때만 표시되지만 각 매개 변수를 추적하고 데이터베이스에서 직접 SP를 실행하면 오류없이 완벽하게 실행됩니다. 그 이유는 무엇일까요? 코드가 여러 레이어에 걸쳐 있기 때문에 코드를 게시 할 수 없습니다.

+1

날짜를 확인하십시오. DB에서 인식 할 수없는 형식 일 수 있습니다. 적어도 sp의 매개 변수 서명을 제공 할 수 있습니까? – GrandMasterFlush

+1

또한 추적 날짜를 제공하십시오. 그렇지 않으면 해당 매개 변수의 스크린 샷을 추적합니다. – NaveenBhat

+0

입력 한 날짜/시간 형식이 일치하지 않을 수 있습니다. 그것을 확인하십시오. datetime으로 매개 변수를 전달합니까? – Prasanth

답변

1

어떻게 보내시겠습니까? DateTime을 보내고 있습니까, 아니면 형식이 지정된 "날짜"문자열을 보내고 있습니까? 나중에, 보내지는 실제 날짜 문자열을보십시오 (힌트 : SQL 프로파일 러를 사용하여 실제로 보내지는 것을 볼 수 있습니다). 그런 다음 SQL 관리 Studio에서 저장 프로 시저를 실행하십시오. 대부분 날짜 형식으로 인해 폭탄이 터집니다.

해결 방법 (올바른 가정이있는 경우) : 실제 DateTime 구조체로 변경하면 문제가 해결됩니다.

관련 문제