안녕하세요. 주문테이블에 어떤쿼리문이 들어가는지 로그를 만들려고 하는데요?
그래서 테이블을 만들고 해당필드안에 쿼리문을 저장할려고 합니다.
CREATE TABLE [dbo].[ORDER_Query] (
[content] [text] NULL , --주문쿼리문
) ON [PRIMARY]
GO
페이지에서 텍스트형식으로 넣기만 하면 되므로 텍스트형식으로 치환했습니다.
Sql="Update [ORDER] Set o_cash= CAST('0' AS money),o_card= CAST('7447' AS money),o_point= CAST('0' AS money),o_Kind='무통장결제',o_status='주문접수(bank)',o_ipname='123',o_opt5='true',card_auth='',o_mmemo='PG사 : 홈페이지 자체승인 거래일자 : 20140617113920 거래금액 : 7,447원 결제방식 : 무통장결제 결과메시지 : 무통장 정상승인' Where o_id='PR12588276'"
o_query=replace(Sql,"'","''")
o_query=replace(o_query,"&","&")
o_query=replace(o_query,"<","<")
o_query=replace(o_query,">",">")
aaa = "INSERT INTO ORDER_Query (content) VALUES('"&o_query&"')"
Db.Execute(aaa)
이렇게 소스에서 오류는 없는데요? 확인하면 7,447원 결제 여기까지만 들어가있고 나머지가 없습니다.
오류가 없고 그냥 짤려서 들어갑니다.
혹시나 해서 response.write aaa 찍어보면 이렇게 나옵니다.
INSERT INTO ORDER_Query (content)
VALUES('Update [ORDER] Set o_cash= CAST(''0'' AS money),o_card= CAST(''7447'' AS money),o_point= CAST(''0'' AS money),o_Kind=''무통장결제'',o_status=''주문접수(bank)'',o_ipname=''123'',o_opt5=''true'',card_auth='''',o_mmemo=''PG사 : 홈페이지 자체승인 거래일자 : 20140617113920 거래금액 : 7,447원 결제방식 : 무통장결제 결과메시지 : 무통장 정상승인'' Where o_id=''PR12588276''')
이걸 쿼리분석기에 직접 실행하면 오류없고 이것도 동일하게 7,447원 결제 여기까지만 들어가고 나머지는 짤립니다.
이게 왜 짤리는것인가요?
혹시나 해서 데이타타입을 [nvarchar] (3000) 으로 해봐도 동일하게 짤리더라구요.
주문시 카드결재승인은 나나 주문완료가 누락되어서 쿼리문이 어케 찍히나 볼려고 실행쿼리를 저장할려고 하는데요?
짤려서 저장되니 뭐 알수도 없고 방법좀 부탁드립니다.
그리고 혹시 이렇게 주문이 누락되면 쿼리문오류같은데 쿼리문오류던 아니던 실행했던 쿼리문을 파악할수 있는것은
어디에서 어디를 봐야 되나요? 트렉젝션로그를 어떻게 봐야 되나요?
가장 급한건 오류없이 데이타가 짤려서 들어가는것인데 이건 뭔지 도저히 모르겠습니다.
고수님들의 조언부탁드립니다.
Comment 2
-
초짜해커
2014.06.17 13:34
-
김영환_281520
2014.06.17 13:39
아 이게 짤린게 아니었네요.^^; 워낙초보라서리.. 정말 감사드립니다.
그럼 수고하세요.
쿼리분석기 : 도구>>옵션>>결과>> "열 당 최대 문자 수"를 8192로 설정
SSMS : 도구>>옵션>>쿼리 결과>>SQL Server>>텍스트로 결과 표시>> "각 열에 표시할 최대 문자 수"를 8192로 설정