34.11. 라이브러리 기능#

libecpg라이브러리는 주로 다음을 포함합니다숨김임베디드 SQL 명령으로 표현된 기능을 구현하는 데 사용되는 함수입니다. 그러나 유용하게도 직접 ​​호출할 수 있는 몇 가지 함수가 있습니다. 이렇게 하면 코드를 이식할 수 없게 됩니다.

  • ECPG디버그(int켜짐, 파일 *스트림)첫 번째 인수가 0이 아닌 경우 호출되면 디버그 로깅을 켭니다. 디버그 로깅이 수행되었습니다.스트림. 로그에는 모든 내용이 포함되어 있습니다.SQL모든 입력 변수가 삽입된 명령문 및PostgreSQL서버. 이는 오류를 검색할 때 매우 유용할 수 있습니다.SQL문장.

    참고

    Windows의 경우ecpg라이브러리와 응용 프로그램은 서로 다른 플래그로 컴파일됩니다. 이 함수 호출은 응용 프로그램의 내부 표현을 충돌시킵니다.파일포인터가 다릅니다. 특히 멀티스레드/단일 스레드, 릴리스/디버그, 정적/동적 플래그는 라이브러리와 해당 라이브러리를 사용하는 모든 애플리케이션에 대해 동일해야 합니다.

  • ECPGget_PGconn(상수 문자 *연결_이름)주어진 이름으로 식별되는 라이브러리 데이터베이스 연결 핸들을 반환합니다. 만일연결_이름다음으로 설정됨NULL, 현재 연결 핸들이 반환됩니다. 연결 핸들을 식별할 수 없으면 함수는 다음을 반환합니다.NULL. 반환된 연결 핸들은 다음에서 다른 함수를 호출하는 데 사용될 수 있습니다.libpq, 필요한 경우.

    참고

    다음으로 만든 데이터베이스 연결 핸들을 조작하는 것은 나쁜 생각입니다.ecpg직접libpq루틴.

  • ECPGtransactionStatus(const char *연결_이름)다음으로 식별된 특정 연결의 현재 트랜잭션 상태를 반환합니다.연결_이름. 참조섹션 32.2및 libpq의PQ트랜잭션상태반환된 상태 코드에 대한 자세한 내용을 확인하세요.

  • ECPG상태(intlineno, 상수 문자*연결_이름)데이터베이스에 연결되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.연결_이름될 수 있습니다NULL단일 연결을 사용하는 경우.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.