거의 초보라 질문합니다.
1)아래 update가 MSSM에서 성공했습니다..
clientImg 테이블이 원하는대로 잘 되었습니다.
BEGIN TRAN
UPDATE clientImg SET code = A2.goodscode
FROM DealInfo A2
JOIN OrderInfo A3
ON A2.orderNo = A3.OrderNo
WHERE clientImg.orderNo = Left(A2.OrderNo,12) AND ( left(A2.Goodscode,2) not like '%a7%' and left(A2.Goodscode,2) not like '%a9%' )
2)그런데 웹서버가 열리는데 시간이 오래 걸립니다.
Microsoft OLE DB Provider for SQL Server '80040e31'
이런메세지가 나옵니다.
잘 아시는 분 도와주세요
Comment 5
-
지영아빠
2023.03.01 21:01
-
잼백
2023.03.01 21:36
롤백이전이라
되살리려면 ROLLBACK TRAN 이죠
BEGIN TRAN
UPDATE clientImg SET code = A2.goodscode
FROM DealInfo A2
JOIN OrderInfo A3
ON A2.orderNo = A3.OrderNo
WHERE clientImg.orderNo = Left(A2.OrderNo,12) AND ( left(A2.Goodscode,2) not like '%a7%' and left(A2.Goodscode,2) not like '%a9%' )이것이 잘 작동되는데(update는 제 의도되로 제대로 되었습니다)
웹에서 페이지 열리는 시간이 많이 걸립니다.
구글링해보니 서버연결 코드에서
conn.ConnectionTimeout = 900 과 같이 연결시간을 늘리면 된다고 되어있던데 이것도 햐결책이 안됩니다.
-
잼백
2023.03.02 10:37
코드 본지 너무 오래되어서 낫 놓고 ㄱ 자도 몰랐네요
이렇게 좋은 커뮤니티 감사합니다
지영아빠님 감사합니다
-
코난(김대우)
2023.03.02 10:10
@지영아빠 님의 말씀대로입니다.
begin tran 동안은 나머지 모든 세션은 테이블 또는 row 잠금에 의해 대기하게 될 수 있습니다.
https://www.sqler.com/board_SQL2011/394745
https://www.sqler.com/board_SQL2011/394741
https://www.sqler.com/board_Column/365899
begin tran을 열었으면 반드시 commit이나 rollback을 해야 합니다.
아마도, @잼백님이 begin tran을 수행한 같은 세션 안에서 select 구문 등으로 테이블을 열었기 때문에 변경된 것처럼 보일 것입니다.
-
잼백
2023.03.02 10:36
코드 본지 너무 오래되어서 낫 놓고 ㄱ 자도 몰랐네요
코난님 감사합니다
transaction 종료부분이 없네요.
commit tran -> 반영
rollback tran -> 그전상태로..
아니면 쿼리의 옵션을 다른 걸로 하셔야 할 것 같네요.