문 핸들 할당

적용 대상: SQL ServerAzure SQL 데이터베이스Azure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW)

애플리케이션에서 문을 실행하려면 먼저 문 핸들을 할당해야 합니다. 이 작업은 SQL_HANDLE_STMT 설정되고 InputHandle이 연결 핸들을 가리키는 HandleType 매개 변수로 SQLAllocHandle을 호출하여 수행합니다.

문 특성은 문 핸들의 특성입니다. 샘플 문 특성에는 책갈피 사용 및 문의 결과 집합에 사용할 커서 종류가 포함될 수 있습니다. 문 특성은 SQLSetStmtAttr설정되며, 현재 설정은 SQLGetStmtAttr을 사용하여 검색됩니다. 애플리케이션에서 문 특성을 설정해야 하는 요구 사항은 없습니다. 모든 문 특성에는 기본값이 있으며 일부는 드라이버에 따라 다릅니다.

몇 가지 ODBC 문 및 연결 옵션을 사용할 때는 주의를 기울여야 합니다. fOption이 SQL_ATTR_LOGIN_TIMEOUT 설정된 SQLSetConnectAttr 를 호출하면 연결 설정 대기 중 애플리케이션이 연결 시도 시간 초과를 기다리는 시간을 제어합니다(0은 무한 대기를 지정함). 응답 시간이 느린 사이트의 경우 이 값을 높게 설정하여 연결을 완료하는 데 충분한 시간을 제공할 수 있습니다. 그러나 드라이버가 연결할 수 없는 경우 적절한 시간에 사용자에게 응답을 제공할 수 있을 만큼 간격이 항상 낮아야 합니다.

fOption이 SQL_ATTR_QUERY_TIMEOUT 설정된 SQLSetStmtAttr 을 호출하면 장기 실행 쿼리로부터 서버와 사용자를 보호하는 데 도움이 되는 쿼리 제한 시간 간격이 설정됩니다.

fOption이 SQL_ATTR_MAX_LENGTH 설정된 SQLSetStmtAttr 을 호출하면 개별 문이 검색할 수 있는 텍스트이미지 데이터의 양이 제한됩니다. fOption이 SQL_ATTR_MAX_ROWS 설정된 SQLSetStmtAttr 을 호출하면 모든 애플리케이션에 필요한 경우 행 집합이 첫 번째 n행으로 제한됩니다. SQL_ATTR_MAX_ROWS 설정하면 드라이버가 서버에 문장을 발행 SET ROWCOUNT 한다는 점에 유의하세요. 트리거 및 업데이트를 포함하여 모든 Microsoft SQL Server 문에 영향을 줍니다.

이러한 옵션을 설정할 때는 주의해야 합니다. 연결 핸들의 모든 문 핸들에 SQL_ATTR_MAX_LENGTH 및 SQL_ATTR_MAX_ROWS 대해 동일한 설정이 있는 것이 가장 좋습니다. 드라이버가 문장 핸들에서 다른 값으로 전환할 경우, 설정을 변경하기 위해 적절한 SETSET TEXTSIZE and SETSET ROWCOUNT 문장을 생성해야 합니다. 사용자 SQL 문은 일괄 처리의 첫 번째 문이어야 하는 문을 포함할 수 있으므로 드라이버에서 이러한 문을 사용자 SQL 문과 동일한 일괄 처리에 넣을 수 없습니다. 드라이버는 and SETSET ROWCOUNT 문장을 SETSET TEXTSIZE 별도의 배치로 보내야 하며, 이 배치는 자동으로 서버로 추가 왕복 경로를 생성합니다.

참고 항목

쿼리 실행(ODBC)