프로그램 변수로 데이터 이동

데이터베이스 API를 사용하여 SQL Server 데이터베이스에 액세스하는 응용 프로그램은 응용 프로그램 변수와 다음 항목 간에 데이터를 이동해야 합니다.

  • 결과 집합 열

    응용 프로그램은 결과 집합에서 인출한 행의 열에서 응용 프로그램 변수로 데이터를 이동해야 합니다.

  • 반환 코드

    응용 프로그램은 저장 프로시저 반환 코드에서 응용 프로그램 변수로 데이터를 이동해야 합니다.

  • 매개 변수

    응용 프로그램은 저장 프로시저 매개 변수와 응용 프로그램 변수 간에 데이터를 이동해야 합니다. 매개 변수는 매개 변수를 입력 또는 출력할 수 있으므로 데이터는 변수에서 매개 변수로 또는 매개 변수에서 변수로 옮겨질 수 있습니다.

  • 매개 변수 표식

    SQL 문에서 ODBC 및 OLE DB 매개 변수 표식을 입력 식(예를 들어, WHERE 절 검색 조건에 있는 것과 같은) 또는 저장 프로시저 매개 변수 및 반환 코드 대신 사용할 수 있습니다. 응용 프로그램은 응용 프로그램 변수 및 매개 변수 표식으로 대체된 식에서 데이터를 이동해야 합니다. 자세한 내용은 매개 변수 표식(데이터베이스 엔진)을 참조하십시오.

바인딩

많은 데이터베이스 API는 바인딩의 개념을 사용하여 응용 프로그램 변수와 SQL Server 개체 간에 데이터를 이동하는 방법을 지정합니다. 데이터베이스 API는 응용 프로그램이 다음 작업을 수행하기 위해 호출할 수 있는 함수를 제공합니다.

  • 결과 집합 열, 반환 코드, 매개 변수 또는 매개 변수 표식의 데이터 형식, 크기, 전체 자릿수 및 소수 자릿수를 결정합니다. 응용 프로그램은 이 정보를 받은 다음 변수 또는 호환 가능한 특성의 변수 배열을 할당할 수 있습니다.

  • 결과 집합 열, 반환 코드, 매개 변수 또는 매개 변수 표식을 특정 변수 또는 변수 배열에 바인딩합니다. 바인딩 정보에는 일반적으로 다음과 같은 내용이 들어 있습니다.

    • 변수의 주소 및 특성(데이터 형식, 크기, 전체 자릿수 및 소수 자릿수)

    • 데이터베이스 개체의 이름 및 특성

데이터는 일반적으로 다음 동작 중 하나가 발생하면 이동됩니다.

  • Transact-SQL 문이나 일괄 처리가 실행될 때

    OLE DB 공급자 또는 ODBC 드라이버는 입력 매개 변수 또는 매개 변수 표식에 바인딩된 데이터를 끌어와 SQL Server로 보내진 패킷에 포함시킵니다.

  • 결과 집합 행이 인출될 때

    OLE DB 공급자 또는 ODBC 드라이버는 각 열의 데이터를 바인딩된 변수로 옮깁니다.

  • 저장 프로시저의 모든 결과 집합이 인출되거나 취소되었을 때

    OLE DB 공급자 또는 ODBC 드라이버는 출력 매개 변수 또는 반환 코드의 데이터를 바인딩된 변수로 옮깁니다.

바인딩된 응용 프로그램 변수의 데이터 형식은 바인딩된 SQL Server 개체와 같을 필요는 없습니다. 데이터 형식이 다르면 OLE DB 공급자 또는 ODBC 드라이버는 데이터를 이동할 때 변환합니다. 각 OLE DB 공급자 및 ODBC 드라이버에서 지원되는 변환 집합은 공급자 또는 드라이버 문서에 지정되어 있습니다.