이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

3.7. 스포츠 토토 명령과 관련된 기능

복사명령포스트그레SQL읽거나 쓸 수 있는 옵션이 있습니다 다음에서 사용하는 네트워크 연결로libpq++. 그러므로 꼭 필요한 기능 이 네트워크 연결에 직접 액세스하여 애플리케이션이 이 기능을 최대한 활용하세요.

  • PgDatabase::GetLine읽는다 줄 바꿈으로 끝나는 문자 줄(에 의해 전송됨) 백엔드 서버)를 버퍼로문자열크기길이.

    int PgDatabase::GetLine(char* 문자열, int 길이)

    유닉스 시스템 루틴과 유사함fgets(), 이 루틴은 최대길이-1문자로문자열. 그것은 같다get()그러나 그 점에서는 종료되는 개행 문자를 0바이트로 변환합니다.

    PgDatabase::GetLine반환EOF파일 끝에서, 전체인 경우 0 행을 읽었으며, 버퍼가 가득 차 있지만 개행 종료는 아직 읽혀지지 않았습니다.

    응용프로그램은 새로운 줄은 백슬래시와 마침표()로 구성됩니다.\.), 이는 백엔드 서버가 님이 결과 전송을 완료했습니다.복사. 그러므로 만약 신청이 다음보다 많은 라인을 수신할 것으로 예상됩니다.길이-1문자 길이이므로 응용 프로그램은 다음을 확인해야 합니다. 반환 값PgDatabase::GetLine아주 조심스럽게.

  • PgDatabase::PutLine다음을 보냅니다 null로 종료됨문자열에 백엔드 서버.

    void PgDatabase::PutLine(char* 문자열)

    응용프로그램은 명시적으로 문자를 보내야 합니다\.백엔드에 다음을 나타냅니다. 데이터 전송이 완료되었습니다.

  • PgDatabase::End스포츠 토토백엔드와 동기화합니다.

    int PgDatabase::End스포츠 토토()

    이 함수는 백엔드가 완료될 때까지 기다립니다. 처리 중복사. 다음 중 하나를 수행해야 합니다. 마지막 문자열이 백엔드로 전송되면 발행됩니다. 사용 중PgDatabase::PutLine또는 다음을 사용하여 백엔드에서 마지막 문자열을 수신한 경우PgDatabase::GetLine. 반드시 발행되거나 백엔드가 얻을 수 있습니다."밖으로 동기화"프런트엔드와 함께. 여기서 돌아오자마자 함수를 사용하면 백엔드는 다음 메시지를 수신할 준비가 되었습니다. 명령.

    성공적으로 완료되면 반환 값은 0이며 0이 아닙니다. 그렇지 않으면.

예를 들면:

Pg데이터베이스 데이터;
data.Exec("CREATE TABLE foo (a int4, b char(16), d 배정밀도)");
data.Exec("STDIN에서 foo 복사");
data.PutLine("3\tHello World\t4.5\n");
data.PutLine("4\tGoodbye World\t7.11\n");
...
data.PutLine("\\.\n");
데이터.EndCopy();