디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

야 C# 내가 만든 어플리케이션인데 질문좀 던질께

개발4년차갤로그로 이동합니다. 2012.04.19 14:37:23
조회 245 추천 0 댓글 23








일단 질문 본문 싸지르기전에 어떤 툴인지 설명좀 할게


작년에 어디 프로젝트를 나갔는데


해당 프로젝트 내에선 오라클을 쓰고있고 본사 유지보수 해줘야될 서버는 MS-SQL이고


프로젝트 내에서 PDA를 사용해서 연동을 하는데 PDA는 MDB를 쓰는데


이걸 씨발 SQL 매니져먼트랑 토드랑 MS ACCESS랑 다켜두고 하려니 미치겠는거야



존나 화딱지 나서 이걸 한방에 다 쓰는 툴은 없을까?



하다가 씨발 좆같은데 없으면 만들어서 쓰지 뭐 하면서 툴을 하나 만들었어


PDA개발할때 졸라 유용하게 쓰다가 필요할때마다 기능을 하나씩 추가해서 쓰고 있거든


추가된 기능이 일단

1. 기본 쿼리 수행 / 결과 보여주기

관리툴이니 이건 기본중에 기능인거고

2. 디비 골라 쓰기 / 현재 지원하는게 오라클은 9i이하까지만이고 SQLITE랑 MS-SQL은 버전에 관계없이 다되고 MDB까진 구현해뒀는데 쓰질 않아서 잘 돌아가는진 몰겠다. 현재는 하나만 로그인해서 쓰게 막아뒀어
오라클 10g 이상은 써글 구해놓은 DLL이 라이센스를 요구하는 코드가 있더라 뜯어서 제거하고 구현하던가 다른 DLL 참조해서 구현할 예정이야

3. 전체 사용자 대상으로 특정테이블을 검색해서 그 테이블에 특정 쿼리를 가하는것

(뭐 컬럼 추가나 삭제나 혹은 전체 사용자 대상으로 특정테이블 드롭이나 등등)

작년 연말정산 프로그램 짜는데 모든 사용자들의 테이블에 컬럼을 추가해줘야 되는데 씨발 업체가 500개가 넘는거야


그걸 언제 디비마다 로그인하거나 쿼리수정해서 사용자명 찾고 매핑해서 컬럼을 추가해? 아오 짱나 하다가 걍 만들자 해서 만들었더니


2시간만에 끝나더라구, 그래서 추가했던 기능이고


4.테이블 복제

이건 만들다 말았는데

특정업체는 오라클인데 이걸 다른 ms-sql서버에 똑같이 테이블이랑 데이터를 만들어줘야해

흔히 실제 쓰고있는 디비 데이터를 다른 디비로 옮기는 데이터 컨버전 작업중 하나인데

왜 개발자한테 이걸 시켰는지 짜증나서리....참 어쨌든 만들어야겠구나 했어


헐? 씨발 그런데 특정 테이블은 다 옮기는것도 아니고 웨어절 쓴것처럼 특정 데이터만 옮기라네?


아놔 좆 되따...했는데 걍 만드니까 만들던 툴이 생각나서 걍 기능 추가했어, 되드라


동시에 2개의 디비 로그인해서 한쪽 디비불러오고 원하는 데이터 선택하거나 쿼리로 웨어절 주고 이동시키고 커밋시키면 적용 되는 형식이야


그런데 이것도 현재 한번쓰고 막아둔 기능이야


여튼 뭐 이런저런 기능들을 달고있는데

여기서 질문 2가지



특정 디비에 있는 모든 테이블중에 특정 컬럼이 몇개나 존재 하는지와

그 컬럼에 특정데이터가 몇개나 들어있는지 알아내는 탭을 구현하려고 해

실제로 구현했고 정상 동작되는걸 확인했어

예를들어 ms-sql 특정 서버에 테이블 뭐 이름 이것저것 있는게 천개가량 되는데

갑자기 전체테이블 상대로 특정 컬럼명에 특정값이 있는걸 전부 찾아야 된다는거야


그래서 기능을 구현햇지

검색할 디비를 지정하고 검색할 컬럼명을 입력하고 검색을 누르면 조회를 싹 해서 쿼리편집기 창에 어느테이블에 어떤 컬럼이 존재하는지 알려주고

거기에 조건을 값 입력해주면 그 컬럼에 몇개나 해당값을 가지고있는지 보여줘

그런데 오라클 내가 뭔가 로직을 잘못 썼는지

이게 전체 테이블 전체 컬럼 대상으로 검색하면서 데이터리스트를 뽑아내다 말고 데드락에 걸리는경우가 있더라구

전체 테이블 대상이니까 인덱스 라던가 그런거에 따라서 그런 문제가 발생할 가능성은 있는데 유력한 가능성을 생각하자면

혹시 디비 트렌젝션이 동시에 여러번 걸리는것 때문에 문제가 발생하지 않을까 하는 생각을 하게됬어

그래서 디비 연결메소드가 있는 코어 부분을 수정했지

중간에 뻑날경우 혹시 모르니 입셉션 부분에 롤백트렌젝션 걸어주고

정상적으로 다 돌고나서 커밋을 때리게 해뒀어

셀렉트만 하는게 아니라 ALTER를 쓰는경우도 할수 있게

이러니까 매번 루프 돌면서 테이블 검색하는것보다 몇배는 빨라졌는데 데드락은 한두번 하다보면 여전히 걸리더라

뭔가 해결책 없을까?











두번째로

너네가 디비툴을 만든다면 여기에 어떤기능이 더 추가되면 좋을까?

존나 심플하지 질문?

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
311771 니들은 지금 시험 기간 아니냐??? [3] ㅁㄹㄻ(203.90) 12.04.23 41 0
311770 망하는 제품의 흔한 개발 과정.avi [4] 때릴꺼야?(116.40) 12.04.23 188 0
311769 프갤 공지 재밋당 헤헤 로하로하알로하갤로그로 이동합니다. 12.04.23 30 0
311768 자바 중급이라면 어느정도를 말하는거임????? ㅁㄴㅇㄹ(115.137) 12.04.23 55 0
311767 DBA나 DB 좀 아는 횽들 이거 어떻게 관계 시켜야해? [1] 디디디디비비(113.96) 12.04.23 93 0
311766 곽형 만나서 이야기하자니까왜 피하고 글삭? 초잉여2(106.103) 12.04.23 49 0
311765 내 글 또 지워졌네 ^^ 아놔콘다갤로그로 이동합니다. 12.04.23 58 0
311764 퀵정렬이 합병정렬보다 느리지 않아??? [15] 에이시아(203.90) 12.04.23 341 0
311763 비전공자c언어이해하기 [6] 몰라도돼(124.61) 12.04.23 170 0
311762 비쥬얼베이직 계산기 만드는법중에 변수 안넣고 만드는방법 아는횽있나요 [1] 으잌ㅋ(1.248) 12.04.23 49 0
311760 형들 중에 소프트웨어 공학 잘아는 형있어? !!!! [4] ㅇㅇ이(121.140) 12.04.23 74 0
311759 디씨가 무서운건가 인터넷이 무서운건가 [3] 천회장(123.214) 12.04.23 101 0
311756 지문인식 해볼라고 배경지식 찾아봤는데 [1] 로하로하알로하갤로그로 이동합니다. 12.04.23 40 0
311755 살짝 전자화폐 관련 자료를 이것저것 찾아봤는데 [3] 땡칠도사갤로그로 이동합니다. 12.04.23 62 0
311754 it봉사활동은 가면 뭐할까 [1] 즐쿰갤로그로 이동합니다. 12.04.23 52 0
311751 java공부전에c언어는기본이다?? [6] 헬프미(124.61) 12.04.23 134 0
311750 어밴져스 보고 싶다 그래서 극장 가려고 [2] 로하로하알로하갤로그로 이동합니다. 12.04.23 40 0
311748 결국 케이디스크 가입 하려다가 약관을 살펴보는데 ... [1] 로하로하알로하갤로그로 이동합니다. 12.04.23 67 0
311747 원래 웹 표준 지키면 모든 웹에서 되는거 아님? [14] 로하로하알로하갤로그로 이동합니다. 12.04.23 149 0
311745 버디버디 사업 종료한단다 [3] 초딩6(59.13) 12.04.23 90 0
311742 인터넷으로 영화 보는 횽 있어? 아니면 자료 많은 웹하드 좀 알려줘 [3] 로하로하알로하갤로그로 이동합니다. 12.04.23 50 0
311741 PHP 메일 첨부파일 관련질문입니다! [4] DalSom갤로그로 이동합니다. 12.04.23 53 0
311740 내가 콘솔화면에 랜덤으로 *찍기를 개조해서 [1] 초잉여2(211.36) 12.04.23 67 0
311739 = ω=) 시험이 끝나니 좋군 땡칠도사갤로그로 이동합니다. 12.04.23 51 0
311735 솔직히 개인용 VA정돈 좀 사서 써라 [5] 초딩6(59.13) 12.04.23 127 0
311734 어 이상하다. 빌어먹을야옹갤로그로 이동합니다. 12.04.23 28 0
311732 개인 홈페이지 제작하고 싶은데요. [6] 홈페이지(112.170) 12.04.23 89 0
311727 지하철 역 같이 유동인구 많은 곳에서 프로그램이 죽다니.. [11] 초딩6(59.13) 12.04.23 139 0
311726 금융쪽 솔루션 프로그래밍을 해보고 싶은데.. ☎v2.2™갤로그로 이동합니다. 12.04.23 86 0
311724 as5868 본명이 박성진 맞냐? [1] 박성진(210.121) 12.04.23 64 0
311721 초잉여 횽은 봅니다. [1] 외계달팽갤로그로 이동합니다. 12.04.23 49 0
311720 우리 회사의 좋은 점은... [1] 외계달팽갤로그로 이동합니다. 12.04.23 81 0
311717 출근햇으면 일좀해라 이놈들아 [3] 개쉛기갤로그로 이동합니다. 12.04.23 123 0
311716 시험 하나도 완성못했다.... [3] 세탁범갤로그로 이동합니다. 12.04.23 55 0
311714 DirectX 랑 3DMax나 Maya 관계하고 추가질문 [1] 물어봄(211.246) 12.04.23 47 0
311713 아침에 이거보고 개 웃었다.ㅋㅋㅋㅋㅋㅋㅋㅋㅋ [4] 자바초보(122.36) 12.04.23 149 0
311711 자료구조 시험인데 여자들 싫어진다 ㅡ ㅡ [2] 세탁범갤로그로 이동합니다. 12.04.23 224 0
311706 격세지감 [2] LazyGyu갤로그로 이동합니다. 12.04.23 109 0
311698 프로그램의 워즈니악 급 없음?? [5] File갤로그로 이동합니다. 12.04.23 106 0
311697 자바 개발하는 사람중에 페도라 쓰는 형 있낭?? [3] File갤로그로 이동합니다. 12.04.23 83 0
311695 예전에 어떤횽이 연관 검색어 그래프올려준적이 있었는데 연관검색(110.11) 12.04.23 72 0
311694 핸드폰 환경에서 게임을 만들거면 cocos2d보다는... [2] qt(61.73) 12.04.23 99 0
311693 아침을 여는 덕짤 [1] 땡칠도사갤로그로 이동합니다. 12.04.23 95 0
311690 형들 게임만들 때 말야 [2] 플밍초보(112.218) 12.04.23 55 0
311689 ㅋㅋ 지금 만드는중인 게임 첨부, 소스링크 [4] 응잉앙앵(175.201) 12.04.23 138 0
311688 자라 정수정•‿•갤로그로 이동합니다. 12.04.23 35 0
311687 API로 커서 출력 없애는 코드가 뭐징? [1] 응잉앙앵(175.201) 12.04.23 43 0
311686 printf("%d" , a++ - a-- );의 답은? [2] 니 코 가 뭐갤로그로 이동합니다. 12.04.23 78 0
311684 횽들 공용리스트에서 참조계수는 뭐할때 쓰는거야? [4] 헤헿(117.16) 12.04.23 50 0
311683 우와 ㅋㅋㅋ사파리 써보는데 은근 빠르다 [6] 로하로하알로하갤로그로 이동합니다. 12.04.23 83 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2