분류 전체보기
-
연결형 방식(Connection,Command)( insert,delete,update).NetFramWork/ADO.NET 2022. 4. 14. 21:20
ADO.NET은 데이터 소스의 종류에 관계없이 일관성 있는 액세스를 제공하는 기술 ADO.NET 데이터 소스에는 SQL Server나 XML 형태로 된 문서 뿐만 아니라 OLE DB 및 ODBC로 접근할 수 있는 다양한 데이터 소스가 있습니다. 이러한 데이터 소스에 접근하고자 할 때 ADO.NET 기술을 사용하면 쉽고 강력하게 데이터 소스에 연결하여 필요한 데이터를 검색하거나 추가 등의 원하는 작업을 할 수 있습니다 Connection : 접속 객체 Command : 명령 객체 DataReader : 데이터베이스에있는 정보를 읽어 올때 데이터베이스 연결하기! 1. connstring = Server= "서버이름";database="데이터베이스이름";uid="아이디"pwd="비밀먼호"; 데이터베이스에 연결..
-
기본 쿼리문 정리DB/SQL 2022. 4. 14. 17:44
SELCET 예시) WHERE 조건절 예시) CREATE 예시) INSERT 예시) UPDATE 예시) DELETE 예시)
-
SQL 계정, DB, TABLE 생성하기 (스키마 공간)DB/SQL 2022. 4. 14. 16:35
계정만들기 데이터 베이스를 물리적 관점으로 보면 파일 이지만, 논리적 구조로 보게되면 스키마 공간으로 나뉘어져 있다. 각 영역을 스키마 공간 이라 함 각 스키마 공간은 SQL계정과 연결 된다. 1. 로그인 폴더에서 마우스 오른쪽 버튼 클릭 >> 새로그인 선택 지금 만든 SQL 계정으로 로그인이 가능하도록 설정 변경! 1. window계정으로 로그인 한 후 2. 속성열기 > 인증모드수정 1. 작업관리자 >> 서비스 하단의 서비스 열기 2. SQL Server를 찾아 서비스 다시 시작 3. SQL Server 계정으로 로그인 되는지 여부 확인 데이터베이스 생성 window 계정으로 로그인 후 데이터베이스 생성 새로 만든 계정과 데이터 베이스 연결 테이블 생성
-
SQL과 DBMS + TABLEDB/SQL 2022. 4. 14. 15:50
SQL의 중요성 오늘날 기업 또는 조직의 정보화에 있어서 관계형 데이터베이스는 거의 대부분이라 해도 과언이 아닐 정도로 데이터 저장소의 대부분을 차지하고 있다. 소프트웨어를 작성하는데 사용되는 언어는 많은 종류가 있지만 관계형 데이터베이스는 결국 SQL에 의해서만 데이터에 접근이 가능하기 때문에 데이터베이스를 기반으로 하는 정보시스 템은 SQL 사용이 필수적인 요소이다. DBMS 필요성 일반적으로 데이터베이스라고 말할 때는 특정 기업이나 조직 또는 개인이 필요에 의해(부가가치가 발생하는) 데이터를 일정한 형태로 저장해 놓은 것 을 의미한다. ex) 학교: 학생 관리를 목적으로 학생 개개인의 정보 관리 기업: 직원들을 관리하기 위해 직원들의 이름, 부서, 월급 등의 정보 관리 관리 대상이 되는 데이터의 양..
-
데이터 처리 방법Socket통신/Socket통신 2022. 4. 10. 15:47
TCP 프로토콜 기반의 서버와 클라이언트의 구현 시 주의할 점은 TCP는 ‘데이터의 경계가 없다’는 것이다. 데이터의 경계가 없다는 것은 공유 자원인 네트워크가 혼잡하여 TCP 송신 버퍼의 데이터가 보내지지 않고 있을 때 애플리케이션 데이터를 반복하여 TCP 송신 버퍼에 내려 보내면 TCP 송신 버퍼에서 상대편 수신 버퍼로 송신 버퍼의 데이터를 한 번에 보내거나 TCP 수신 버퍼에 도착한 데이터를 애플리케이션 버퍼로 늦게 가져오는 경우 상대편에서 보낸 데이터가 한 번에 복사되어 올라올 수 있는 등의 상황이 발생할 수 있다는 것이다. 그래서 TCP 프로토콜 기반의 송,수신 데이터를 설계할 때는 위 사항을 고려하여 설계해야 한다. 네트워크가 혼잡하여 애플리케이션에서 send()가 두 번 이루어진 후 TCP ..
-
다중 접속 1대 다 통신 서버 / 클라이언트Socket통신/Socket통신 2022. 4. 10. 15:08
저번 시간에 작성한 다중 접속 코드는 여러 클라이언트 들이 접속이 허용이 되어도 recv() send() 는 개별적으로 통신하는 구조였다. 다중 접속 1대 다 통신 구조에서는 하나의 클라이언트가 데이터를 보내면 다른 클라이언트들도 데이터를 받을 수 있어야 한다. 고민 해야 할것 하나의 스레드에서 어떻게 접속한 모든 클라이언트에게 전송 할 수 있을까? 모든 클라이언트는 send()를 호출 해야지만 recv를 받을수 있다. 해결 1. 서버는 모든 클라이언트에게 데이터를 전송 해주기 위해서는 모든 클라이언트의 주소를 알고 있어야 한다. 서버는 소켓들을 관리할 필요가 있다. accept() 시 통신 소켓 리스트에 소켓을 저장해주고 스레드 종료시 삭제 처리 2. 클라이언트 측에서는 recv()부분을 쓰레드를 생성..
-
쓰레드를 이용한 다중 에코 서버Socket통신/Socket통신 2022. 4. 10. 14:35
기존 작성한 에코 서버에서는 하나의 클라이언트가 접속이 되면 다른 클라이언트는 접속을 하지 못하는 구조 였다. 여러 클라이언트들이 접속을 하여도 문제 없는 서버를 만들기 위해서 흐름을 조금 바꿔보자! 먼저 기존의 코드에서 recv() send()의 부분을 쓰레드를 생성하여 넘겨주고, accept() 클라이언트 연결을 기다리는 부분도 무한 루프를 돌려주어 여러 클라이언트의 접속연결을 해줄 것이다. 서버는 여러 클라이언트의 접속을 대기하는 대기 쓰레드와 각각의 클라이언트와 통신을 담당하는 통신 쓰레드로 나뉜다. 기존 코드에서 바뀐 부분 1. 클라이언트 접속 대기 후 연결이 이루어지면 2. 접속한 클라이언트의 정보를 출력후 3. workThread (쓰레드 생성후 작업을 넘김) 4. 새로운 클라이언트를 대기 ..
-
TCP를 이용한 에코 프로그램 만들기Socket통신/Socket통신 2022. 4. 9. 18:18
전에 만든 기본 서버 코드를 이용할 것이다. 추가된 부분 서버측 1. 클라이언트의 접속을 accept() 대기후 접속이 이루어지면 2. 클라이언트의 접속 정보를 출력 3. 클라이언트 쪽 데이터 수신 정보를 recv()함수로 받고 4. send() 받은 정보를 다시 클라로 송신 5. 연결 종료 후 새로운 클라이언트의 접속대기 추가된 부분 클라이언트 1. 서버의 접속 성공시 2. 보낼 데이터를 입력받고 3. send() 서버측으로 전송 3. 에코로 서버측에서 돌아온 데이터를 출력후 4. 종료 결과 위 프로그램은 클라이언트와 서버의 대화가 연속적으로 이루어지지는 않는다. 연속적인 대화가 가능한 프로그램으로 수정 하기 위해서 recv와 send 부분을 무한루프로 묶을 것이다. 서버의 무한루프가 종료 되는 조건은..