그libecpg라이브러리는 주로 다음을 포함합니다“숨김”Embedded SQL 명령으로 표현된 기능을 구현하는 데 사용되는 함수입니다. 그러나 유용하게도 직접 호출할 수 있는 몇 가지 함수가 있습니다. 이렇게 하면 코드를 이식할 수 없게 됩니다.
ECPG디버그(int첫 번째 인수가 0이 아닌 경우 호출되면 디버그 로깅을 켭니다. 디버그 로깅이 수행되었습니다.켜짐, 파일 *스트림)스트림. 로그에는 모든 내용이 포함되어 있습니다.SQL모든 입력 변수가 삽입된 명령문 및포스트그레SQL서버. 이는 오류를 검색할 때 매우 유용할 수 있습니다.SQL문장.
Windows의 경우ecpg토토 캔와 애플리케이션은 서로 다른 플래그로 컴파일됩니다. 이 함수 호출은 애플리케이션의 내부 표현 때문에 애플리케이션을 충돌시킵니다.파일포인터가 다릅니다. 특히 멀티스레드/단일 스레드, 릴리스/디버그, 정적/동적 플래그는 토토 캔와 해당 토토 캔를 사용하는 모든 애플리케이션에 대해 동일해야 합니다.
ECPGget_PGconn(상수 문자 *주어진 이름으로 식별되는 토토 캔 데이터베이스 연결 핸들을 반환합니다. 만일연결_이름)연결_이름다음으로 설정됨NULL, 현재 연결 핸들이 반환됩니다. 연결 핸들을 식별할 수 없으면 함수는 다음을 반환합니다.NULL. 반환된 연결 핸들은 다음에서 다른 함수를 호출하는 데 사용될 수 있습니다.libpq, 필요한 경우.
다음으로 만든 데이터베이스 연결 핸들을 조작하는 것은 나쁜 생각입니다.ecpg직접libpq루틴.
ECPGtransactionStatus(const char *다음으로 식별된 특정 연결의 현재 트랜잭션 상태를 반환합니다.연결_이름)연결_이름. 참조섹션 32.2및 libpq의PQ트랜잭션상태반환된 상태 코드에 대한 자세한 내용을 확인하세요.
ECPG상태(int데이터베이스에 연결되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.lineno, 상수 문자*연결_이름)연결_이름될 수 있습니다NULL단일 연결이 사용되는 경우.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.