2010년 8월 31일 화요일

동시접속 pk 중복 오류 방지방안

하나의 테이블에 여러 트랜잭션에서 일련번호 성 pk 데이타를 입력할 때 중복 오류가 발생하는 현상을 방지할 수 있는 방안입니다.

1. SEQUENCE 오브젝트를 이용한다.

이를 사용하면 일련번호 관련해서 중복오류를 없앨 수 있는 완벽한 방안입니다.

그러나 모델링이나 다른 이슈로 이렇게 처리하지 못하는 경우가 있습니다.

2. 1번에서 문제가 되는 경우가 일련번호가 연도별, 또는 다른 UID별 일련번호 생성과 관련해서일 것이다.

SELECT /*+ INDEX_DESC(A A30_PK) */ nvl(max(일련번호), 0) + 1 as max번호
INTO 일련번호
FROM TABLE_A30 A
WHERE 년도 = 2010

AND ROWNUM = 1;

 

로 MAX값을 구해와야 하는데 ROCK를 걸지 않고 비지니스 로직을 여러곳에서 동시에 실행시에

 

PK중복이 날 수 있다. ( 실제로도 나고 있고 )

 

오라클에서는 이와 같은 문제를 처리하기위해 AUTONOMOUS_TRANSACTION 을 제공한다.

 

CREATE OR REPLACE FUNCTION NUM_VAL (YEAR IN VARCHAR2)
RETURN VARCHAR2
IS
/*********** AUTONOMOUS_TRANSACTION 선언 시작**********/
PRAGMA AUTONOMOUS_TRANSACTION;
/*********** AUTONOMOUS_TRANSACTION 선언 끝**********/

vs_return_val VARCHAR(10);


BEGIN

-- 1. UPDATE --------------
BEGIN
UPDATE TEMP_A
SET SEQ_NO = SEQ_NO + 1
WHERE YEAR = V_YEAR
;
EXCEPTION
WHEN OTHERS THEN
에러처리

END;

-- 2. SELECT --------------
BEGIN
SELECT SEQ_NO
INTO vs_return_val
FROM TEMP_A
WHERE FRM_YEAR = V_YEAR

;
EXCEPTION
WHEN OTHERS THEN
에러처리

END;

COMMIT;
RETURN vs_return_val;

EXCEPTION
WHEN OTHERS THEN
에러처리;
END;

 

 

--SELECT /*+ INDEX_DESC(A A30_PK) */ nvl(max(일련번호), 0) + 1 as max번호
--INTO 일련번호
--FROM TABLE_A30 A
--WHERE 년도 = 2010

--AND ROWNUM = 1;


일련번호 := NUM_VAL('2010');

 

 

잘된다.

 

 

 

 

 

 

2010년 8월 29일 일요일

노트북 무선랜이용 WIFI(와이파이) AP 만들자.

C:\Users\Administrator>netsh wlan set hostednetwork mode=allow "ssid=win7softAp"
 "key=1234567890" keyUsage=persistent
호스트된 네트워크 모드를 허용하도록 설정했습니다.
호스트된 네트워크의 SSID를 변경했습니다.
호스트된 네트워크의 사용자 키 암호를 변경했습니다.


C:\Users\Administrator>


실행파일
C:\Windows\System32\netsh.exe wlan start hostednetwork
종료파일
C:\Windows\System32\netsh.exe wlan stop hostednetwork

 

회사에서 굳이 쓸 필요가 있겠냐만은..그래도 해봅니다,. ^^

2010년 8월 27일 금요일

window7 + erwin 실행시 에러 해결

ERWin에서 파일 오픈 시 다음과 같은 오류가 발생하는 경우 해결 방법 입니다.

[오류메시지]
오류 Input file: <파일명>.ER1 with file version: -1 is not readable by Computer Associates ERwin

[해결방법]
사용 중인 OS 가 Vista 혹은 Window 7인 경우, ERwin을읽지 못하여 생기는 문제.
ERwin이 설치되어 있는 폴더에 가서 (기본적으로 C:Program FilesCAAllFusion ERwin Data Modeler에 설치 됩니다.) MMOPN32.exe 파일의 속성으로 갑니다.
호환성 탭으로 이동한 후, 호환성 모드의 '다음에 대해 호환성 모드로 이 프로그램 실행'을 체크하시고 window XP를 선택하면 됩니다.
 
원본 :

중고폰 안드로이드폰으로 바꾸기

재미난 글이 올라와서 이렇게 포워딩 해봅니다.

잠자고, 버려질 위기에 처한 윈도우 폰으로 사용되었던 폰에 '안드로이드 OS'를 설치한 뒤, 안

드로이드 폰으로 사용하는 Tip 입니다.


먼저 가지고 계신 폰들의 기종을 정확하게, 확인하신 후, 자신의 기종에 맞는 '안드로이드 OS'

를 다운로드 받습니다.


Touch Pro (Fuze, RAPH, RAPH800, RAPH500)
Touch Diamond (DIAMOND, DIAM500)
Touch HD (BLACKSTONE)
GSM Touch Pro2 (TILT2,RHODIUM, RHOD400, RHOD500)
GSM Touch Diamond2 (TOPAZ)

XDAndroid : http://xdandroid.com/wiki/Main_Page

Samsung i900 (GSM, supported worldwide)
Samsung i910 (CDMA, used by Verizon in the US)
Samsung i780 (Mirage)
Samsung i907 (AT&T Epix)

Andromnia : http://andromnia.net/

HTC Artemis
HTC Elf, HTC Elfin
HTC Excalibur, T-Mobile Dash
HTC Gene, HTC P3400
HTC Herald, T-Mobile Wing
HTC Opal, HTC Touch Viva
HTC Pharos
HTC Prophet
HTC Startrek
HTC Wizard
Asus P320, Galaxi Mini

Wing Linux : http://sourceforge.net/apps/trac/wing-linux/wiki
상기 전화기 모델은, 이통사에따라 다른 이름을 붙여진것도 있습니다.

핸드폰 기종에 맞는 '안드로이드 OS' 를 다운로드 걸어놓고, 다운로드 받는 동안 설치 준빌 합니다.

먼저, Micro SD 카드 1GB 짜리를 준비합니다.


Micro SD 카드를 읽을 수 있는 PC 에 넣고, 반드시 'FAT 32' 로 포멧을 합니다.


다운로드가 끝나면, 7-Zip 을 이용하여, 압축을 풀어 줍니다.



압축을 푼 후, 파일 폴더의 이름은 반드시 'andboot' 이라는 폴더로 바꿔야하며, 'andboot' 폴더안을 들어가면, 'startup config' 또는, 'startup' 이라는 폴더를 만날 수 있습니다.


각 폴더별로, 'startup.txt' 파일이 하나씩 들어 있습니다.
자신이 사용할 정확한 폰 기종을 확인한 다음, 자신의 폰 기종의 폴더를 카피 한 다음, 'andboot' 폴더에 붙여넣기를 합니다. (startup config 에서 카피 -> andboot 폴더에 붙여넣기)

이제 PC 속의 'andboot' 폴더를 조금전 포멧한 Micro SD 카드로 복사 합니다.
Micro SD 카드에 복사를 하셨으면, PC 에서 빼내어, 사용할 핸드폰에 넣은 후, 핸드폰을
부팅합니다.




부팅 후 핸드폰 File Brower 를 이용하여, Micro SD 카드를 읽은 뒤, 조금전 만든 'andboot' 폴더를 열어서, 'heart.exe' 파일을 실행 시킵니다.


자신의 기종과 호환성이 맞게 되어있다면, 'Run' 버튼을 누르면, 자동 부팅 후 원하던, 'Android' 로 부팅을 하게 됩니다.


생각 이상으로 시간이 많이 걸리는 작업이니, 인내심을 기른다 생각하시고 기다려야겠죠.

기나긴 인내의 시간이 지나면, 드디어 안드로이드로 부팅이 완료 되었습니다.
제작자의 이야기를 빌리자면, '데이터 플랜' 등의 가입없이, 그냥 'wifi' 를 이용하면, Mail 등의 셋팅을 할 수 있다고 합니다. 'wifi' 를 적극 이용합시다.



부팅이 완료 된 후에도, 폰과 안드로이드 OS 가 완벽히 Sync 하는데, 10 분 정도의 시간이 더 걸린다고하니, 조금만 더 인내해 봅시다.


다시 윈도우 폰으로 사용하고자 하시는 분들은, SD Card 를 읽지 마시고, 그냥 다시 리붓하시면, 됩니다. 다시 안드로이드를 사용하고자 할 때에는 SD Card 를 넣고, 다시 'heart.exe' 를 실행하시면 됩니다.


모든 Sync 가 끝이나고 나면, 짜잔........어딘가 구석에 있던, 구형 윈도우 폰이, 신형(?) 안드로이드 폰으로 재탄생 하게 되었습니다. 'wifi' 를 이용하여, 인터넷과, 앱 들을 마음껏 이용해 봅시다.


* 주의사항 *

안드로이드 OS 는 기본적으로, 터치 스크린을 사용하는 폰에 최적화 된 OS 입니다.

아이폰 3 G 에서, 아이폰 IOS 4 업데이트를 하여도, IOS 4의 모든 기능을 사용할 수 없듯이, 하드웨어에

서 제공
하지 않는 기능들은 마찬가지로 사용할 수 없습니다.

그리고, 안드로이드 특성상 몇 가지의 다른 버전이 존재하며, 하드웨어도 회사마다, 기기마다 조금씩 다

른 특징을 가지고 있습니다.

자신이 사용할 윈도우 폰에 완벽히 최적화 시키기 위해선, 다른 버전의 안드로이드를 받아서 몇 번의 시

행착오를 겪으셔야 할 것으로 짐작이 됩니다.

아무튼, 버려질 윈도우용 폰에서 wifi 를 이용하여, 안드로이드를 사용할 수 있으니, 한번쯤은 도전해 보

세요.

출처 : http://kinlife.tistory.com/entry/%EC%95%88%EC%93%B0%EB%8A%94-%EC%A4%91%EA%B3%A0%ED%8F%B0%EC%9D%84-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%ED%8F%B0%EC%9C%BC%EB%A1%9C-%EB%A7%8C%EB%93%A4%EC%96%B4-%EB%B3%B4%EC%9E%90

 

 

무단으로 가져와서리..쩝..으흐흐흐 그래도 넘 좋은 포스팅이군요.