Q&A

  • [질문] 정말 답답하네요...
벌써 몇개월째...해결 못하고 이렇게 질문만 올리다 끝나는가 봅니다...ㅎㅎ

별짓을 다해봤네요...

저희가 원래 db는 오라클로 개발을 했고 midas 환경의 3tier 구조로 리모트데이타모듈을 이용해서..
app서버를 만들어 사용중입니다..

그래서 app서버의 오라클 접속용으로 ODAC 를 구매해 사용했는데..전혀 문제 없이 사용 중에 있습니다만....

이번프로젝트는 에는 MS-SQL2000 이지만...당연히 가능할것이라 생각되어 SDAC 를 약간의 테스트를 거쳐 구매 후 사용하려 했는데...문제가 하나 발생했네요...

APP서버와 CLIENT 와는 아시다시피  
app 서버 리코트 데이타모듈에는  MSConnection , MSQuery , DataSetProvider    와 소켓서버
client 는  ClientDataset , DataSource , DbGrid  와 소켓컨넥션 을 사용중입니다...

문제는 쿼리해온 데이터를 ClientDataset 에서 수정이 안되는 현상이 발생 했는데요...
쿼리시 두테이블을 조인하거나 함수사용등(max..등) 필드에 Alies 를 주면 그 필드는 애초부터
ReadOnly 로 변해서 조회가 됩니다...

어짜피 조인을하건 한테이블데이터를 가져오건 clientDataSet 으로 가져온 데이터는 다시 수정이나  입력 등을
거쳐 실제 저장할 다른 ClientDataSet 을 오픈해서 그쪽으로 데이터 이관 후 ApplyUpdate 를 합니다..

위와 같은 문제로 BDE , DEVEXPRESS 컴퍼넌트 , ADO 컴퍼넌트  다 써봤는데...
저희 개발 구조상으로 결국  DEVEXPRESS 로 선택 할 수 밖에 없는 상황이어서..SQLConnection 을 사용
햇는데...이놈이 버그가 있네요....DB 서버 자체에서 반환되는  한글메세지를 못뿌려줍니다...
영문메세지는 뿌려주는데...(환장할 노릇이죠..) SP등의 메세지야 영문으로 받아서 한글로 처리하는 루틴을 만들어 사용하면 되지만..DB 자체의 메세지가 필요한 부분이 생겼는데......쩝..

db 세션이 끊어지는지  오류가 있는데 딸랑 Sql Server Error;  요렇게만 반환이 되버리니....
어떤 오류인지도 모르겠고요... 어떤 오류인지 메세지만 받아도 대처 하겠는데.....

BDE는 256 byte 의 데이터를 못가지고 있고...(저희 개발 구조상)
Ado 쪽도 SDAC 와 같은 현상이고....

그래서 결국  델파이 2007 에서 한글메세지가 반환 되길래..ㅎㅎ  변경해보려 했는데...
서버 등록 후(EXE실행..ㅎㅎ) 에 소켓컨넥션에서 서버리스트가 안나오는 현상이 발생 했구요......
ㅠ.ㅠ  암튼 몇달동안 별짓 다해봤습니다...

결국 해결은 아직까지 못했네요....
제생각은 SDAC 가 그렇게 허술하지 않을 것 같은데.. ㅎㅎ (그래도 상용 컴퍼넌트이고요..)
제가 모르는 부분이 있을것 같은데....혹시 도움좀 주실분 부탁 드립니다..

몇달동안 해볼 건 다해봤습니다..

몇번의 질문을 올렸는데...답글에 QUERY 컴퍼넌트의 requestlive 를 True 해봐라 식의 답글들을 달아주셨는데......그 정도 체크못 할 초보는 아니구요...ㅎㅎ(답글 다신분을 무시하는 내용은 아닙니다..ㅎㅎ)

한폼에...SDAC 컴퍼넌트 갖다놓고 DEVexpress 쪽 (Sqlconnection) 두개 동시 갖다놓고 테스트해보면..
이놈의 SDAC는 같은쿼리에서 조인된 계산 필드라든지 하는 부분이 ReadOnly로 반환되고...
DEVexpress  이놈은 이상없이 잘 됩니다....문제는 이놈이 버그가 잇다는 단점...ㅠ.ㅠ

정말 절실하게 도움좀 주실분 있으신가요...SDAC 나 ODAC 는 사용 많이 하시는것같던데요..

1. 기존 구매한 SDAC 를 사용하는게 가장 좋은 방법인 것 같으나..문제가 있는점
2. DevExpress 쪽 컴퍼넌트를 이용해서 작업하되 델파이 2007 이상에서 제작시 서버 등록하는 문제...

요둘중에 하나만 되도 될 듯 싶어요... 유선상으로 도움주실분 있으시면 염치 불구하고 전화 드리겠습니다..ㅎㅎ


2  COMMENTS
  • Profile
    마바리 2009.04.10 20:04
    MSQuery 의 Update sqls 작성은 하셨나요?
  • Profile
    초보임당 2009.04.11 02:16
    MSConnection , MSQuery , DataSetProvider , ClientDataSet , DataSource ,DBGrid 를 올려 놓고요..
    : 별다른 셋팅은 안했습니다.

    각 컴퍼넌트는 프로퍼티를 통해 연결...

    Const S := 'SELECT MAX(일자) 일자 FROM TEST ';
    Begin

    with ClientDataSet do
    begin
    Close;
    CommandText := S;
    Open;
    end;
    end;

    의 실행...

    제가 알기로는 MSUpdateSQL 컴퍼넌트를 올려 놓고 MsQuery 의 프로퍼티중 UpdateObject 에 연결만 해주면 되는걸로 아는데요... 아닌가요?

    위와 같은 쿼리 결과를 그리드에 뿌린상태에서 이 필드는 ReadOnly 로 변해버려서 그리드 자체에서 수정이 안됩니다..

    똑같은 구조로 ODAC 는 수정이 되거든요....(오라클사용시)
    또 똑같은 구조로 SQLConnection 은 수정이 되고요...

    뭔 이유랍니까....ㅎㅎ 다른 코딩을 해줘야 하는건지 지정하는 프로퍼티가 있는건지요....
    다른놈들은 다되는데...이 컴퍼넌트만 같은구조로 안되니.. 답답합니다...
    지금도 열심히 테스트 중입니다. 안되는 영어실력으로 해외 사이트 뒤져 보고 있습니다.ㅋㅋ
    • 초보자
    • 2009.04.16 04:00
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 손학준
    • 2009.04.16 03:27
    • 0 COMMENTS
    • /
    • 0 LIKES
    • cell
    • 2009.04.14 08:04
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2009.04.14 19:11
      [팁] PaperSize 변경하기 팁테크에 Printer로 검색해보시면 나옵니다. pDMode^.dmOrientation := D...
    • cell
      2009.04.14 20:57
      {$EXTERNALSYM DMORIENT_PORTRAIT} DMORIENT_PORTRAIT = 1; {$EXTERNALSYM DMORIENT_LANDSCAPE} ...
    • 소울해커
      2009.04.14 23:36
      아.. 질문을 잘못 이해해가지고 죄송합니다. (갈수록 이해력이 떨어져버려서..;;) 딱히 다른 방법은 ...
    • 이상탁
      2009.04.22 07:01
      원하시는 셋팅된 설정 파일을 만들어 두고선 설정을 변경할 수는 있습니다. 문제는 프린터 드라이버의...
    • 유상희
    • 2009.04.14 07:38
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2009.04.14 14:16
      똑 같은 내용의 질문이 올라 오는데요. 아마도 회원분들 답을 안해주실 듯 합니다. 숙제는 직접하시...
    • 노정윤
      2009.04.14 18:53
      심심해서 한번 해봤습니다. unit2 를 수정해서 다양한 기능을 추가해보세요 Form1 하나 뿐인 ...
    • 석주현
      2009.04.14 21:20
      정윤님이 오히려 숙제를 더 내주신 듯 하네요. ㅋ
    • 김병윤
      2009.04.14 23:19
      ㅎㅎ 숙제도와주는 사람은 악마...^^;; 무섭네요 ㅠ.ㅠ 많이 도와줬었는데... 도와주면 아무것도 하지 ...
    • 날개
    • 2009.04.14 04:24
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2009.04.14 18:54
      1. 내용 줄이라는게 그리드헤더 부분을 제외한 부분을 말씀하시는건가요? 똑같이 MergeCells를 사용하...
    • 날개
      2009.04.14 19:36
      답변감사합니다. 1번 답변에서 궁금한것이.. 데이터가 고정적으로 들어오지 않는데 병합시작할 컬럼 ...
    • 소울해커
      2009.04.14 20:12
      1. 처리루틴을 만드셔야죠. DB에서 데이터 받아온걸 그대로 일단 그리드에 집어넣고 그 다음 셀병합...
    • 구창민
      2009.04.13 21:37
      안녕하세요.. TPageControl 의 ActivePage 를 이용하시면 될거 같네요.. 즐거운 프로그래밍 하세요~
    • 석주현
      2009.04.13 17:57
      readln 을 쓰시면 될 것 같네요. Help를 찾아 보세요. ^^
    • 구창민
      2009.04.13 18:20
      InputQuery, InputBox, InputComboBox
    • 석주현
      2009.04.13 18:45
      InputQuery, InputBox, InputComboBox 아 이런게 있었군요. 전 커맨드 모드 생각했는데 좋은거 배웠네요...
    • 우재언
    • 2009.04.11 02:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2009.04.13 21:53
      안녕하세요.. 궁극적으로 필요한 기능이 탭오더를 설정할수 있는 UI 를 만드시는 것인가요? 예제를 ...
    • 야단났네~*
      2009.04.13 20:30
      글 올리고 씨름하다가 해결했습니다. ^^;;
    • 소울해커
      2009.04.10 21:54
      해당프로젝트의 메인폼의 dfm파일이 깨졌을 수도... 메인폼을 다른이름으로 대상저장해서 저장해보시...
    • 최용일
      2009.04.11 00:10
      Option에서 Desktop 환경을 저장하도록 해보세요. Tools/Environment Options메뉴의 Preferences탭에서 ...
    • 마바리
      2009.04.10 20:04
      MSQuery 의 Update sqls 작성은 하셨나요?
    • 초보임당
      2009.04.11 02:16
      MSConnection , MSQuery , DataSetProvider , ClientDataSet , DataSource ,DBGrid 를 올려 놓고요.. ...
    • 최용일
      2009.04.09 21:45
      뭐 특별히 복잡할것은 없는데요... 그냥 폼의 ShowHint속성을 True로 하고 TMaskEdit에 힌트메시지를 넣...
    • 차돌보이
      2009.04.09 22:52
      지금 시작하는 초보단계라서...감사합니다...잘 실행됩니다..
    • 차돌보이
      2009.04.09 22:52
      참고로 마우스가 닿아있는 한 계속 보이게 할수는 없나요?조금 있으니 사라져 버리네요~!
    • TOMATO
      2009.04.09 23:57
      Application.HintHidePause := 10000 시간 적당히 조정 하시면 될꺼에요~
    • 박종훈
    • 2009.04.09 18:54
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2009.04.09 21:47
      책한권 사서 보세요. 델파이 도움말 잘 보시구요. 숙제같은데... 수업만 잘 들으셨으면 쉽게 하실 수 있...
    • 소울해커
      2009.04.10 00:32
      ... 글쓰신 말투가 어디서 본듯해서 뒤져봤더니 역시나... 교수님이 델파이를 하기위해서 필요한...
    • TOMATO
      2009.04.10 01:07
      요밑에 '초보생' 이라는 분이 올린거랑 똑같네요 같은 학교신가봐요;;
    • 라벤더
      2009.04.10 02:37
      지난번 그분이시군요. 잠깐 찾아보니 최근 2주 정도에만 다른 이름으로 세 개.. 난감하네요... -_-;;
    • 김병윤
      2009.04.10 08:56
      ^^ 이분 소울해커님한테 제대로 찍히셨네...;; 하도 이름을 자주 바꾸셔서 누구라고 불러야할지 모르...
    • 박종훈
      2009.04.14 19:49
      그럼 저장하고 저장 되는 값이라도 좀알려즈심안돼나요 전역선억하는거랑
    • 박종훈
      2009.04.14 19:54
      그리고 한줄완성해서 버튼을 클릭하면 다음칸으로 내려야하는데 내려가는법좀
    • • • •
    • 김갱
    • 2009.04.09 07:32
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 공호준
      2009.04.09 16:33
      델마당에 강좌가 있습니다. http://www.delmadang.com/ 열심히 하세요.
    • 석주현
      2009.04.09 18:17
      지금 시작하신 다면 책을 한권 구입해서 기본적인 것 부터 죽 보시고 하시는 게 좋습니다. 델마당에 동...
    • 김갱
    • 2009.04.09 03:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김병윤
      2009.04.09 07:18
      다른 고수분들의 좋은 방법들이 많을테지만 제가 생각하는 짧은 생각을 옮겨봅니다. 1. 두 가지 패턴...
    • 김갱
      2009.04.09 07:30
      감사합니다 ㅜ.ㅠ 근데 문제는... 제가 알고 싶어 하는게 찾아봐두 안나온다는 점이네요 ㅜ.ㅠ
    • 장성호
      2009.04.09 10:44
      ㅋㅋ 김병윤님께서 아주 좋은 방법을 소개해 주셨네요... 특히 커뮤니티 활용방법에 대해서 매우 동감...