다음을 통해 공유


AccessDataSource 웹 서버 컨트롤을 사용하여 데이터 검색

업데이트: 2007년 11월

AccessDataSource 컨트롤을 사용하면 Microsoft Access 데이터베이스(.mdb 파일)에서 데이터를 검색할 수 있습니다. 그런 다음 GridView, FormViewDetailsView 컨트롤과 같은 데이터 바인딩된 컨트롤에 데이터를 표시할 수 있습니다.

AccessDataSource 컨트롤은 SqlDataSource 클래스를 상속하고 ConnectionString 속성을 DataFile 속성으로 대체하여 Microsoft Access 데이터베이스에 좀 더 편리하게 연결할 수 있습니다. AccessDataSource 컨트롤은 System.Data.OleDb 공급자(Microsoft.Jet.OLEDB.4.0 OLE DB 공급자)를 사용하여 Access 데이터베이스에 연결합니다.

AccessDataSource 컨트롤을 사용하여 데이터베이스에 연결

AccessDataSource 컨트롤은 DataFile 속성에 식별된 Microsoft Access 데이터베이스 파일(.mdb 파일)에 연결합니다. Access 데이터베이스 파일을 가리키는 UNC(Universal Naming Convention) 경로를 DataFile 속성에 설정할 수 있습니다. 다음 예제에서는 루트 상대적 경로를 사용하여 현재 웹 응용 프로그램의 App_Data 폴더에 있는 Access 데이터베이스를 식별하는 방법을 보여 줍니다.

  <asp:AccessDataSource
    id="AccessDataSource1"
    DataFile="~/App_Data/Northwind.mdb"
    
    SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees">
  </asp:AccessDataSource>

웹 응용 프로그램에 Access 데이터베이스 파일을 저장하는 경우 이 파일을 App_Data 폴더에 저장하여 데이터베이스를 전용으로 유지하는 것이 좋습니다. ASP.NET에서는 App_Data 폴더의 파일이 요청될 경우 해당 파일을 즉시 반환할 수 없습니다. App_Data 폴더에 저장된 Access 데이터베이스에 대한 파일 읽기 및 쓰기 권한을 ASP.NET 프로세스 ID에 부여해야 합니다. ASP.NET 프로세스 ID에 대한 내용은 ASP.NET 프로세스 ID 구성을 참조하십시오.

AccessDataSource 컨트롤은 기본 SqlDataSource 클래스의 ProviderName 속성을 System.Data.OleDb 공급자로 설정하고 Microsoft.Jet.OLEDB.4.0 OLE DB 공급자를 사용하여 연결합니다. AccessDataSource 컨트롤의 ProviderName 또는 ConnectionString 속성은 설정할 수 없습니다.

참고:

AccessDataSource는 암호로 보호된 Access 데이터베이스에 연결하지 않습니다. 암호로 보호된 Access 데이터베이스에서 데이터를 검색하려면 SqlDataSource 컨트롤을 사용하십시오.

AccessDataSource 컨트롤을 사용하여 데이터 선택

다음 코드 예제와 같이 SelectCommand 속성을 설정하면 AccessDataSource 컨트롤에서 실행할 SQL 쿼리를 지정할 수 있습니다.

<form id="form1" >
  <asp:AccessDataSource
    id="EmployeesAccessDataSource"
    DataFile="~/App_Data/Northwind.mdb"
    
    SelectCommand="SELECT EmployeeID, FirstName, LastName FROM Employees" />

  <asp:GridView
    id="EmployeesGridView"
    
    AutoGenerateColumns="True"
    DataSourceid="EmployeesAccessDataSource" />
<form id="form1" >
  <asp:AccessDataSource
    id="EmployeesAccessDataSource"
    DataFile="~/App_Data/Northwind.mdb"
    
    SelectCommand="SELECT EmployeeID, FirstName, LastName FROM Employees" />

  <asp:GridView
    id="EmployeesGridView"
    
    AutoGenerateColumns="True"
    DataSourceid="EmployeesAccessDataSource" />

다음 코드 예제와 같이 SelectCommandSelectCommandType 속성을 StoredProcedure로 설정하여 Microsoft Access 쿼리로부터 결과를 반환할 수 있습니다.

<asp:AccessDataSource
  id="InvoiceAccessDataSource"
  DataFile="~/App_Data/Northwind.mdb"
  
  SelectCommand="[Employee Sales By Country]"
  SelectCommandType="StoredProcedure">
  <SelectParameters>
    <asp:Parameter Name="Beginning Date" Type="DateTime" defaultValue="1/1/1997" />
    <asp:Parameter Name="Ending Date" Type="DateTime" defaultValue="1/31/1997" />
  </SelectParameters>
</asp:AccessDataSource>

<asp:GridView
  id="InvoiceGridView"
  
  AutoGenerateColumns="True"
  DataSourceid="InvoiceAccessDataSource" />
<asp:AccessDataSource
  id="InvoiceAccessDataSource"
  DataFile="~/App_Data/Northwind.mdb"
  
  SelectCommand="[Employee Sales By Country]"
  SelectCommandType="StoredProcedure">
  <SelectParameters>
    <asp:Parameter Name="Beginning Date" Type="DateTime" defaultValue="1/1/1997" />
    <asp:Parameter Name="Ending Date" Type="DateTime" defaultValue="1/31/1997" />
  </SelectParameters>
</asp:AccessDataSource>

<asp:GridView
  id="InvoiceGridView"
  
  AutoGenerateColumns="True"
  DataSourceid="InvoiceAccessDataSource" />

AccessDataSource 컨트롤을 사용하여 데이터를 수정하는 데 대한 내용은 SqlDataSource 컨트롤을 사용하여 데이터 수정을 참조하십시오. AccessDataSource 컨트롤은 SqlDataSource 컨트롤의 기능을 상속하고 암시적으로 System.Data.OleDb 공급자를 사용하므로 이 항목은 AccessDataSource 컨트롤로 작업하는 경우에 적용됩니다.

AccessDataSource 컨트롤에 매개 변수 사용

명령에 대해 매개 변수가 있는 쿼리를 사용하고 런타임에 매개 변수를 제공할 수 있습니다. 또한 Microsoft Access 쿼리를 호출하는 경우 런타임에 매개 변수를 지정할 수도 있습니다. Microsoft Access 쿼리를 호출하려면 명령에 대한 명령 유형 속성을 StoredProcedure로 설정합니다. 자세한 내용은 데이터 소스 컨트롤에 매개 변수 사용을 참조하십시오.

AccessDataSource 컨트롤은 SqlDataSource 클래스를 확장하고 System.Data.OleDb 공급자를 사용하므로 "?" 자리 표시자 문자를 사용하여 매개 변수 자리 표시자를 지정합니다. System.Data.OleDb 공급자는 명명된 매개 변수를 지원하지 않으며 대신 매개 변수 값이 매개 변수 컬렉션에 지정된 순서대로 적용됩니다. 매개 변수 컬렉션에서 매개 변수의 순서는 SQL 문 또는 Microsoft Access 쿼리에서 매개 변수 자리 표시자의 순서와 일치해야 합니다. 자세한 내용과 예제를 보려면 SqlDataSource 컨트롤에 매개 변수 사용을 참조하십시오.

참고 항목

개념

SqlDataSource 컨트롤을 사용하여 데이터 선택