분류 전체보기 (54) 썸네일형 리스트형 OLE DB 소비자 템플릿 일단 Toad로 서버 Connection에 성공했다면 반은 다했다 보통 서버는 보완철통되어 있기 때문에 Toad로 접속되었다는 건 MFC로도 접속이 된다는 소리! 이제 ATL OLE DB Provider Templete을 이용하여 쿼리를 날리면 된다. 작성중 CHttpFile의 GetLength 함수 HTTP protocol을 통해 Json 데이터포맷을 이용하여 데이터를 주고받고 있는데, 데이터를 받는 쪽(클라이언트)에서 data 크기를 받아와 읽어야 한다. 근데 불친절한 서버는 헤더에 Content-Length가 없는 경우, 받는 쪽에서 크기를 구해내야 한다. 이부분에서 멍청하게 삽질을 해서 기억도 할겸 적는다. MSDN : https://msdn.microsoft.com/ko-kr/library/5y092fke.aspx CInternetFile::Read 함수 이용 시 사이즈를 지정해줘야하는데 CInternetFile::GetLength 함수 이놈으로 크기를 받는 수 밖에 없다. (서버에서 Content-Length를 헤더에 붙여 보내줄 경우 고민할 필요가 없음) 근데 이 GetLength()가 .. OLE DB 연결 테스트 (Oracle) 보통 OLE DB 연결은 C#의 OleDbConnection 클래스를 이용하면 된다.하지만 MFC에서 이용하려면 OLE DB 소비자 템플릿(C++)을 사용해야 한다. MSDN : https://msdn.microsoft.com/ko-kr/library/fk4h509a.aspxMSDN의 사용방법이 자세하게 나와있다고는 하지만.. 보고 바로 적용하기에는 애로사항이 많아이번 프로젝트에서 서버-클라이언트 연결했던 것을 정리해보고자 한다. 렛츠고!! 하기전에..보안관련하여 짚고 넘어가야 할것이 있다.우선 DB서버-클라이언트 간 접속시 여러 방법이 있겠지만 OLE DB로 접속하게되면 여러 보안취약점에 노출이 된다.물론, 수정을 통해 보완이 가능하겠지만, 기본적인 OLEDB 접속방식으로는 보안에 취약하다.몇가지 예를.. if문과 return값 프로그래밍 하다보면 리턴값을 사용하여 에러or정상인지를 보내게 되는데 정말 단순히 생각해서 TRUE = 참 , FALSE = 거짓 으로 정상은 TRUE=1 을 보내고 에러는 FALSE=0 을 보냈었다.. 그리고 그냥 편하게 아래 처럼 쓰곤했는데..if( Function() ) 정상else 에러 문득 다른사람들은 어떻게 쓸까해서 검색해봤더니 틀린건 아니지만 약간 다르게 사용한다.. 보통 아래와 같이 사용한다고 한다. FALSE 0 : 정상 종료-1 : 에러 발생1 이상 숫자 : 정상 종료되었으나, 코멘트 있음-1 이하 숫자 : 에러 발생되었으나, 코멘트 있음 그리고 if( Function() )은 1 일때만이 아니라 0이 아닌 모든값일때 조건이 실행된다. 결과적으로는 if( Function() ) 을 정상.. 윈도우의 폰트 선택 기준? 1. GetStockObject()로 얻어오는 SYSTEM_FONT or DEFAULT_GUI_FONT 는 윈도우의 UI 시스템폰트와 다르다?Windows10 기준으로 윈도우의 UI폰트는 '맑은 고딕'이다. 근데 GetStockObject에서 얻어오는 폰트는 '굴림'이다. 다국어 지원 관련 함수들 MSDN에서 찾기가 어렵지, 유용한 API들이 많다..다만, 리턴값이나 함수 인자들의 대한 설명이 부족한 느낌..즉 Sample Code가 없으면 바로 적용하기가 힘들다아무리 영어로 되어 있다지만, 구글링 하다보면 "이 함수 어떻게 쓰냐"란 질문이 꽤나 많이 보이는걸로 봐선 MSDN의 설명은 활용적이지 못한것 같다 아무튼 다국어지원을 하다보면 해당 Locale의 맞는 여러 포맷(날짜,통화,숫자,폰트 등등)들을 보여줘야 된다.영어가 만국공용어라지만, 영어권의 날짜까지 m/d/yyyy 를 따라 쓰지는 않는다. (한국은 yyyy-mm-dd) 친절한 프로그램씨를 만들기 위해서 Locale의 포맷들을 가져올 수 있는 함수들이 있다. MSDN - National Language Support Functions (링.. 데이터베이스 관련 회사의 클라이언트 DB가 MS Access 의 mdb인데, 여기저기 들리기로는 문제점이 많은 DB라 한다.물론, 네트워크의 연결되어봤자 4~5개 PC정도의 네트워크 공유 수준인데다가, 그리 큰 규모의 데이터복잡성이 없다.(A/S 담당자님의 말로는 DB문제 얘기하면 날을새도 모자란다고....)만약 새 프로젝트를 작업하게 되면은 DB를 교체해볼까해서 정리해본다. 필요와 수준에 맞는 DB를 사용하면 되지만, 멀티플랫폼 세상에서 Local로만 이용하는 클라이언트는 한계가 있을듯 싶다 1. 데이터베이스의 분류와 종류(링크) 2. MS Access (mdb)의 장단점Access vs SQLite(링크)장점- 인터페이스의 편의성(DB관리 용이)- 데이터 엑세스에 대한 접근을 레이어 단위로 분리- 비즈니스 객체에 대한.. 유니코드 텍스트 파일 읽기/쓰기 작성중 유니코드로 인코딩된 텍스트파일을 읽을경우 CString 비교가 안되어서 골치아팠는데일반적으로 코딩상에서 CString str=L"김태영" 을 저장하고 str.Compare(L"김태영") 은 되지만CFile로 읽어들여와서 CString에 저장된것을 비교하기위해서는 뒤에 \r\n을 붙여줘야 비교가되더라.. 읽기는 여러방법 중 직접 해본 두가지 방법이 있다. CFile의 Read()로 전체파일 사이즈를 구해서 통으로 읽는방법데이터를 분류하기위해서는 토큰을 써야하지만, 유니코드 데이터는 깔끔하게 들어온다. CFile pFile; if(pFile.Open(m_PathCur+L"파일명",CFile::modeRead | CFile::typeBinary)) { CString str; pFile.Seek(2,CF.. 이전 1 2 3 4 5 ··· 7 다음