핵심 인터페이스 규칙

모든 ODBC 드라이버는 적어도 코어 수준 인터페이스 규격을 나타내야 합니다. Core 수준의 기능은 대부분의 일반 상호 운용 가능한 애플리케이션에 필요한 기능이므로 드라이버는 이러한 애플리케이션에서 작동할 수 있습니다. 또한 Core 수준의 기능은 ISO CLI 사양에 정의된 기능 및 Open Group CLI 사양에 정의된 비전통적 기능에 해당합니다. 코어 수준 인터페이스 준수 ODBC 드라이버를 사용하면 애플리케이션에서 다음을 모두 수행할 수 있습니다.

  • SQLAllocHandle 및 SQLFreeHandle을 호출하여 모든 유형의 핸들을 할당하고 해제합니다.

  • 모든 형태의 SQLFreeStmt 함수를 사용합니다.

  • SQLBindCol을 호출하여 결과 집합 열을 바인딩합니다.

  • SQLBindParameter 및 SQLNumParams를 호출하여 입력 방향으로만 매개 변수 배열을 포함한 동적 매개 변수를 처리합니다. (출력 방향의 매개 변수는 의 기능 203입니다. 수준 2 인터페이스 규칙입니다.)

  • 바인딩 오프셋을 지정합니다.

  • SQLParamData 및 SQLPutData 호출관련된 실행 시 데이터 대화 상자를 사용합니다.

  • SQLCloseCursor, SQLGetCursorName 및 SQLSetCursorName을 호출하여 커서 및 커서 이름을 관리합니다.

  • SQLColAttribute, SQLDescribeCol, SQLNumResultColsSQLRowCount를 호출하여 결과 집합의 설명(메타데이터)에 액세스합니다. (열 번호 0에서 이러한 함수를 사용하여 책갈피 메타데이터를 검색하는 기능은 의 기능 204 입니다.수준 2 인터페이스 규칙입니다.)

  • 카탈로그 함수 SQLColumns, SQLGetTypeInfo, SQLStatisticsSQLTables를 호출하여 데이터 사전을 쿼리합니다.

    드라이버는 데이터베이스 테이블 및 뷰의 다중 파트 이름을 지원할 필요가 없습니다. (자세한 내용은 의 기능 101을 참조하세요.수준 1 인터페이스 규칙 및 수준 2 인터페이스 규칙기능 201입니다.) 그러나 열 정규화 및 인덱스 이름과 같은 SQL-92 사양의 특정 기능은 구문적으로 다중 파트 명명과 비슷합니다. 현재 ODBC 기능 목록은 SQL-92의 이러한 측면에 새로운 옵션을 도입하기 위한 것이 아닙니다.

  • SQL커넥트, SQLDataSources, SQLDisconnect 및 SQLDriver커넥트 호출하여 데이터 원본 및 연결을 관리합니다. SQLDrivers를 호출하여 지원하는 ODBC 수준에 관계없이 드라이버에 대한 정보를 가져옵니다.

  • SQLExecDirect, SQLExecute 및 SQLPrepare를 호출하여 SQL 문을 준비하고 실행합니다.

  • SQLFetch를 호출하거나 fetchOrientation 인수가 SQL_FETCH_NEXT 설정된 SQLFetchScroll을 호출하여 결과 집합 또는 여러 행의 행을 앞으로만 가져옵니다.

  • SQLGetData를 호출하여 부분의 언바운드 열을 가져옵니다.

  • SQLGet커넥트Attr, SQLGetEnvAttr 및 SQLGetStmtAttr을 호출하여 모든 특성의 현재 값을 가져오고 모든 특성을 기본값으로 설정하고 SQLSet커넥트Attr, SQLSetEnvAttr SQLSetStmtAttr을 호출하여 특정 특성을 기본값으로 설정하고 특정 특성을 기본값으로 설정합니다.

  • SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescFieldSQLSetDescRec를 호출하여 설명자의 특정 필드를 조작합니다.

  • SQLGetDiagFieldSQLGetDiagRec를 호출하여 진단 정보를 가져옵니다.

  • SQLGetFunctionsSQLGetInfo를 호출하여 드라이버 기능을 검색합니다. 또한 SQLNativeSql을 호출하여 데이터 원본으로 전송되기 전에 SQL 문에 대한 텍스트 대체 결과를 검색합니다.

  • SQLEndTran 구문을 사용하여 트랜잭션을 커밋합니다. 코어 수준 드라이버는 실제 트랜잭션을 지원할 필요가 없습니다. 따라서 애플리케이션은 SQL_ATTR_AUTOCOMMIT 연결 특성에 대한 SQL_ROLLBACK 또는 SQL_AUTOCOMMIT_OFF 지정할 수 없습니다. (자세한 내용은 의 기능 109를 참조하세요. 수준 2 인터페이스 규칙입니다.)

  • SQLCancel을 호출하여 실행 시 데이터 대화 상자를 취소하고 다중 스레드 환경에서 다른 스레드에서 실행되는 ODBC 함수를 취소합니다. 코어 수준 인터페이스 규칙에서는 함수의 비동기 실행을 지원하거나 SQLCancel을 사용하여 비동기적으로 실행되는 ODBC 함수를 취소하도록 요구하지 않습니다. 플랫폼이나 ODBC 드라이버는 드라이버가 동시에 독립적인 활동을 수행하기 위해 다중 스레드가 필요하지 않습니다. 그러나 다중 스레드 환경에서는 ODBC 드라이버가 스레드로부터 안전해야 합니다. 애플리케이션에서 요청의 직렬화는 심각한 성능 문제가 발생할 수 있지만 이 사양을 구현하는 규칙적인 방법입니다.

  • SQLSpecialColumns를 호출 하여 테이블의 SQL_BEST_ROWID 행 식별 열을 가져옵니다. (SQL_ROWVER 지원은 208의 기능입니다. 수준 2 인터페이스 규칙입니다.)

    Important

    ODBC 드라이버는 핵심 인터페이스 규칙 수준에서 함수를 구현해야 합니다.