데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요.

Classic ASP 페이지와 MS-SQL 2000 사용중입니다.


7개의 컬럼이 있는 [테이블A]가 있습니다. (간략하게 컬럼명을 A~G 로 칭하겠습니다.)

[테이블A]

A char(8) Not Null   <-- Clustered Primary Key

B char(8) Null

C char(6) Null

D char(2) Null

E char(1) Null

F char(40) Null

G char(1) Null

Collation은 Korean_Wansung_CI_AS 입니다.


INDEX:

PK__테이블A__7E11CC41 clustered, unique, primary key located on PRIMARY A



위와 같은 테이블이 존재하고, 웹상에서 어떤 페이지를 실행하면 다음과 같은 쿼리가 수행됩니다.


INSERT INTO [테이블A] (A, B, C, D, F) 

(SELECT 'SS000179', convert(char(8), getdate(),112), sale_code, depart_code, '(주)테스트회사@내수@테스트현장 건물 본납' FROM  [테이블B] where pd_code = 'DD000256')


이것은 [테이블2]라는 임시 테이블에 있는 레코드 값을 가져와서 [테이블A]에 등록해 주는 작업입니다.

이 때 오류가 나는데 오류 내용은 바이너리 값이 잘렸다는 내용입니다.

보통 이러한 에러는 컬럼의 크기보다 입력하려는 데이터의 크기가 클 경우 발생하는 것으로 알고 있습니다.

그런데 문제는 입력하려는 데이터의 크기가 컬럼의 크기를 초과하지 않는다는 것입니다.


동일한 작업을 하는 다른 건들은 모두 잘 입력되고 있는데 지금 위에 써 놓은 건만 에러를 발생 시킵니다.

더욱 이상한 점은 문제가 되는 저 쿼리문을 Response.write하여 웹상에 출력한 뒤 그 쿼리를 그대로 복사해서

쿼리분석기에 놓고 실행을 하면 정상적으로 Insert가 된다는 것입니다.


미칠 노릇이죠..ㅜㅜ

이럴 수가 있나요? ASP페이지에서는 오류를 내면서 문제가 되는 해당 쿼리문을 출력해 쿼리분석기에서 실행해보면

정상 처리되는 ... 이런경우... 



그래서 혹시 ASP 페이지에서 사용하는 DBHelper쪽의 문제가 아닐까 생각도 드는데.. 소스 내용은 다음과 같습니다.

Public Sub RunSQL(strSQL, params, connectionString)      

connectionString 설정부문 생략 ...

      

Set cmd = CreateObject("ADODB.Command")


cmd.ActiveConnection = connectionString

cmd.CommandText = strSQL 

cmd.CommandType = adCmdText

Set cmd = collectParams(cmd, params)


cmd.Execute , , adExecuteNoRecords       <--- 요기서 에러발생 


Set cmd.ActiveConnection = Nothing

Set cmd = Nothing

End Sub


에러 구문은 다음과 같습니다.

Microsoft OLE DB Provider for SQL Server error '80040e57'

String or binary data would be truncated.


이걸 DB쪽 문제로 봐야할지 ASP 쪽 문제라고 봐야할지... 난감하네요..

ASP쪽 문제라고 하기엔 다른 건들은 잘 처리가 되고 있고...

DB쪽 문제라고 하기엔 문제가 되는 저 건에 대한 입력 값들은 컬럼의 사이즈를 초과하지 않거든요...


소중한 조언 기다려 봅니다 ^^:




No. Subject Author Date Views
8472 mssql2000에서 mysql sp 실행하기 wassup 2015.01.15 2922
8471 SQL 2008 error 3707 [1] 땅훈 2015.01.15 3075
8470 건우아빠님~ㅠ 세로로 되있는걸 가로로 뿌리는 방법좀 알려주세요ㅠ [5] 뽀챙 2015.01.14 3103
8469 mssql2000 -> mysql 연결된 서버로 프로시저 실행 wassup 2015.01.14 3730
8468 varchar(max)문의 [1] 유리의성 2015.01.14 3412
8467 특정 데이터 베이스 권한 문의 드립니다. 나는짱이야 2015.01.13 2242
8466 서버간 테이블, SP 복제 [11] 하하하하하 2015.01.13 3046
8465 update 문의드립니다. [2] 예성파파 2015.01.13 2647
8464 각 부서의 팀장을 구하고 싶습니다. [1] 엠엔27 2015.01.13 2722
8463 MSSQL에이전트 실행날짜가 저절로 변경됩니다. [5] 김미영_279087 2015.01.10 6707
8462 복구모델이 simple 일때 ldf용량을 작게 설정했을경우 [1] 카루카루 2015.01.09 2546
8461 로그 파일 문의 [4] akfflr 2015.01.09 3020
8460 권한 오류 문의 드립니다. 나는짱이야 2015.01.09 2445
8459 asp에서 DB 컨넥션... [7] 전혜연 2015.01.08 3452
8458 고정IP가 변경되었는데 접속이 안되네요.... [2] 곰탱이아빠 2015.01.08 2915
8457 작업 모니터 실행 시 오류 포탱이 2015.01.07 3496
» 문자열 길이 초과 하지 않았는데 String or binary data would be trunccated 문제 [2] Larry 2015.01.07 5423
8455 프로시저 실행중에 데이타를 입력받아 처리할 수 있을까요? [2] 뽀지티브 2015.01.07 2723
8454 트랜잭션 로그 백업을 진행하고 있는데... [2] 라니린 2015.01.07 2383
8453 뷰 저장시 문제 [3] hhhh 2015.01.07 2711





XE Login