Applies ToMicrosoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

Access를 프런트 엔드 애플리케이션으로 사용한 다음, SQL Server와 같은 백 엔드 서버의 테이블에 연결할 수 있습니다. 기본적으로 대부분의 쿼리는 Access ACE 데이터베이스 엔진에서 로컬로 실행됩니다. 경우에 따라 Access는 SQL 구문 및 기타 요인에 따라 SQL Server에서 원격으로 쿼리를 실행할 수 있습니다. 자세한 내용은 다시 검색된 JET 및 ODBC 백서의 "JET 데이터베이스 엔진 버전 3.0: ODBC 연결"을 참조하세요.

하지만 데이터베이스 서버에서 쿼리를 명시적으로 실행하려는 경우가 많습니다. 성능 향상을 위해 이 작업을 수행합니다. 데이터베이스 서버는 데스크톱 컴퓨터보다 처리 능력이 더 높으며 네트워크 연결을 통해 더 작은 데이터 하위 집합을 반환할 수 있습니다. 데이터베이스 서버에서 쿼리를 실행하려면 ODBC 연결 문자열을 사용하여 SQL Server에 연결하는 TSQL(Transact SQL) 문인 통과 쿼리 사용합니다. 예를 들어 SELECT 문을 전달하여 데이터를 데이터시트, 폼, 보고서 또는 목록 컨트롤로 반환하고, 해당하는 작업 쿼리(DML(데이터 조작 언어) 문)를 실행하고, 저장 프로시저를 호출하고, 관리 작업(DDL(데이터 정의 언어) 문)을 수행할 수 있습니다.

참고    통과 쿼리의 결과는 읽기 전용입니다. 데이터시트 또는 양식에서 데이터를 직접 편집하려면 인덱싱된 뷰에 연결된 테이블을 만듭니다. 자세한 내용은 인덱싱된 뷰 만들기를 참조하세요.

  1. 서버 데이터베이스에 연결합니다.

    SQL Server에 연결하는 방법에 대한 자세한 내용은 SQL Server 데이터베이스의 데이터 가져오기 또는 링크Azure SQL Server 데이터베이스에서 데이터 연결 또는 가져오기를 참조하세요.

  2. 만들기 > 쿼리 디자인을 선택합니다.

  3. 필요한 경우 테이블 추가 대화 상자(Access에서 테이블 표시)를 닫습니다.

  4. 통과 >디자인을 선택합니다.

    Access는 쿼리 디자인 표를 숨기고 SQL 보기를 표시합니다.

  5. 쿼리 속성 시트가 표시되지 않으면 F4 키를 눌러 표시합니다.

  6. 속성 시트에서 ODBC Connect Str 속성 상자를 클릭한 다음 다음 중 하나를 수행합니다.

    연결 문자열을 가져오려면 다음을 수행합니다.

    1. 탐색 창에서 원하는 데이터 원본에 연결된 테이블을 마우스 오른쪽 단추로 클릭하고 연결된 테이블 관리자를 선택합니다.

    2. 연결된 테이블 관리자 대화 상자에서 데이터 원본의 확인란을 선택한 다음 편집을 선택합니다.

    3. 링크 편집 대화 상자의 연결 문자열 상자에 있는 텍스트를 복사합니다.

    1. 빌드 작성기 단추를 선택합니다.

    2. 프롬프트에 따라 연결 문자열 정보가 포함된 DSN 파일을 만듭니다. 자세한 단계는 SQL Server 데이터베이스의 데이터 가져오기 또는 링크 및 Azure SQL Server 데이터베이스에서 데이터에 연결 또는 가져오기를 참조하세요.

    DSN 파일 연결을 만든 후 ODBC 연결 문자열은 Access 데이터베이스에 내부적으로 저장됩니다. 해당 문자열의 복사본을 가져오는 트릭은 다음과 같습니다.

    1. 원하는 ODBC 연결을 사용하여 탐색 창에서 연결된 테이블 이름을 찾습니다.

    2. Ctrl+G를 누릅니다. VBA 직접 실행 창을 엽니다.

    3. 다음 코드를 입력합니다.

      ?CurrentDb.TableDefs("<table name>").Connect

      그러나 1단계에서 연결된 테이블 이름을> <테이블 이름을 대체합니다.

    4. ODBC Connect Str 속성에 반환된 문자열을 복사합니다.

  7. SQL 보기에 쿼리를 입력합니다.

    참고: Access SQL과 SQL Server TSQL 간에는 특히 구문, 함수 이름 및 함수 인수와 관련하여 중요한 차이점이 있습니다. 자세한 내용은 Access SQL과 SQL Server TSQL 비교를 참조하세요.

        먼저 SQL Server Management Studio에서 TSQL 쿼리를 빌드한 다음 SQL을 복사하여 SQL 보기에 붙여넣습니다. 이렇게 하면 쿼리에 올바른 구문이 있습니다. SQL Server 데이터베이스에 편리하게 액세스할 수 없는 경우 데스크톱에 Microsoft SQL Server Express Edition 을 설치하는 것이 좋습니다. 이 버전은 최대 10GB를 지원하며 마이그레이션을 실행하고 확인하는 무료이며 더 쉬운 방법입니다.

  8. 추가 관련 속성을 설정하는 것이 좋습니다.

    • 레코드를 반환합니다.     일부 SQL 문은 SELECT와 같은 레코드를 반환하고 일부는 UPDATE와 같이 반환하지 않습니다. 쿼리가 레코드를 반환하는 경우 이 속성을 예로 설정합니다. 쿼리가 레코드를 반환하지 않으면 이 속성을 아니요로 설정합니다.

      참고    통과 쿼리는 여러 결과 집합을 반환할 수 있지만 데이터시트, 폼, 보고서 또는 레코드 집합 변수에서는 첫 번째 결과 집합만 사용됩니다. 여러 결과 집합을 검색하려면 다음 예제와 같이 테이블 만들기 쿼리 를 사용합니다.

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      각 결과 집합에 서로 다른 열이 있을 수 있으므로 별표(*)를 사용해야 합니다. 각 결과 집합은 별도의 테이블에 저장되고 그에 따라 숫자가 로컬 테이블 이름에 추가됩니다. 예를 들어 세 개의 결과 집합이 반환되면 테이블 이름은 로컬 테이블 이름> <, 로컬 테이블 이름 <>1, 로컬 테이블 이름 <>2입니다.

    • 로그 메시지    Access 메시지 테이블의 SQL 데이터베이스에서 메시지를 반환할지 여부를 지정합니다. 테이블 이름 형식은 username – nn이며, 여기서 username은 현재 사용자의 로그인 이름이며 nn은 00부터 시작하는 숫자입니다.

    • ODBC 시간 제한    쿼리를 실행할 때 시간 제한 오류가 발생하기 전에 대기할 시간(초)을 지정합니다. 기본값은 60초입니다. 네트워크 트래픽 또는 데이터베이스 서버의 과도한 사용으로 인해 지연이 있을 수 있습니다.

    • 최대 레코드    반환할 최대 레코드 수를 지정합니다. 시스템 리소스가 제한되어 있거나 적은 양의 데이터로 결과를 테스트하려고 할 수 있습니다.

  9. 쿼리 입력을 마치면 디자인 > 실행을 선택합니다. 쿼리는 처리를 위해 데이터베이스 서버로 전송됩니다.

참고 항목

Transact-SQL 참조

Transact-SQL을 사용하여 쿼리

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.