안녕하세요.

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
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 39939
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 21908
8463 MSSQL에이전트 실행날짜가 저절로 변경됩니다. [5] 김미영_279087 2015.01.10 6843
8462 복구모델이 simple 일때 ldf용량을 작게 설정했을경우 [1] 카루카루 2015.01.09 2615
8461 로그 파일 문의 [4] akfflr 2015.01.09 3083
8460 권한 오류 문의 드립니다. 나는짱이야 2015.01.09 2478
8459 asp에서 DB 컨넥션... [7] 전혜연 2015.01.08 3505
8458 고정IP가 변경되었는데 접속이 안되네요.... [2] 곰탱이아빠 2015.01.08 2969
8457 작업 모니터 실행 시 오류 포탱이 2015.01.07 3545
» 문자열 길이 초과 하지 않았는데 String or binary data would be trunccated 문제 [2] Larry 2015.01.07 5624
8455 프로시저 실행중에 데이타를 입력받아 처리할 수 있을까요? [2] 뽀지티브 2015.01.07 2759
8454 트랜잭션 로그 백업을 진행하고 있는데... [2] 라니린 2015.01.07 2439
8453 뷰 저장시 문제 [3] hhhh 2015.01.07 2845
8452 조인문제..? [2] 문상연 2015.01.06 2284
8451 숫자 순번 초과시 영문을 추가하여 순번 추가하기 [2] 정담씨 2015.01.06 2649
8450 원격지서버 자료등록 [2] 달려보세 2015.01.05 2443
8449 row_number() 로 페이징 할 때 질문입니다. [6] 흑흑 2015.01.05 7664
8448 특정 컬럼값 기준으로 날짜별 합계 쿼리 [2] embster 2015.01.04 8246
8447 표준모델 [2] 더따뜻한 2015.01.04 2420
8446 mssql paging(페이징) 문제..? [4] 문상연 2015.01.04 2813
8445 번호 생성 [3] hhhh 2015.01.02 3395
8444 mssql서버를 설치할려면 os를 뭘 설치해야하나요? [2] 문상연 2015.01.01 2877





XE Login