AccessDataSource.DataFile プロパティ

定義

Microsoft Access .mdb ファイルの位置を取得または設定します。

public:
 property System::String ^ DataFile { System::String ^ get(); void set(System::String ^ value); };
public string DataFile { get; set; }
member this.DataFile : string with get, set
Public Property DataFile As String

プロパティ値

Access .mdb ファイルの位置。 絶対パス、相対パス、および仮想パスがサポートされています。

例外

無効なパスが指定されました。

このセクションには、3 つのコード例が含まれています。 最初のコード例では、 プロパティを、Web Forms ページと同じディレクトリにある Northwind.mdb ファイルに設定DataFileする方法を示しています。 2 番目のコード例では、 プロパティを、Web Forms ページがあるディレクトリの下にある Database という名前のディレクトリに存在する Northwind.mdb ファイルの仮想パスに設定DataFileする方法を示しています。 3 番目のコード例では、UNC 共有で使用できる Northwind.mdb ファイルの UNC パスに プロパティを設定 DataFile する方法を示します。

次のコード例は、 プロパティを、Web Forms ページと同じディレクトリにある Northwind.mdb ファイルに設定DataFileする方法を示しています。

<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:AccessDataSource
        id="AccessDataSource1"
        runat="server"
        DataSourceMode="DataSet"
        DataFile="~/App_Data/Northwind.mdb"
        SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:AccessDataSource>

      <asp:GridView
        id="GridView1"
        runat="server"
        AllowSorting="True"
        DataSourceID="AccessDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:AccessDataSource
        id="AccessDataSource1"
        runat="server"
        DataSourceMode="DataSet"
        DataFile="~/App_Data/Northwind.mdb"
        SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:AccessDataSource>

      <asp:GridView
        id="GridView1"
        runat="server"
        AllowSorting="True"
        DataSourceID="AccessDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>

次のコード例では、 プロパティを、Web Forms ページのディレクトリの下にある Database という名前のディレクトリに存在する Northwind.mdb ファイルの仮想パスに設定DataFileする方法を示します。

<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:AccessDataSource
        id="AccessDataSource1"
        runat="server"
        DataSourceMode="DataReader"
        DataFile="database/Northwind.mdb"
        SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:AccessDataSource>

      <asp:GridView
        id="GridView1"
        runat="server"
        DataSourceID="AccessDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:AccessDataSource
        id="AccessDataSource1"
        runat="server"
        DataSourceMode="DataReader"
        DataFile="database/Northwind.mdb"
        SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:AccessDataSource>

      <asp:GridView
        id="GridView1"
        runat="server"
        DataSourceID="AccessDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>

次のコード例では、UNC 共有で使用できる Northwind.mdb ファイルの UNC パスに プロパティを設定 DataFile する方法を示します。

<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:AccessDataSource
        id="AccessDataSource1"
        runat="server"
        DataSourceMode="DataReader"
        DataFile="\\uncpath\Northwind.mdb"
        SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:AccessDataSource>

      <asp:GridView
        id="GridView1"
        runat="server"
        DataSourceID="AccessDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:AccessDataSource
        id="AccessDataSource1"
        runat="server"
        DataSourceMode="DataReader"
        DataFile="\\uncpath\Northwind.mdb"
        SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:AccessDataSource>

      <asp:GridView
        id="GridView1"
        runat="server"
        DataSourceID="AccessDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>

注釈

プロパティは DataFile 、コントロールが表す Access .mdb ファイル AccessDataSource への仮想、絶対、または UNC ディレクトリ パスです。 ファイルの名前のみを入力した場合は、現在実行中のページまたはコードと同じディレクトリに .mdb ファイルWeb Forms見つかったことを示します。 前方スラッシュと下位スラッシュの両方を持つ相対パスがサポートされています。 たとえば、 "./test/test/Northwind.mdb" は と"test/test/Northwind.mdb"同じパス".\test\test\Northwind.mdb"にマップされます。 などの "\\mymachine\somedatadirectory\Northwind.mdb"UNC パスもサポートされています。 絶対物理パスはサポートされていますが、デプロイが複雑化する可能性があるため、絶対物理パスの使用は避ける必要があります。

Access データベースのアクセス許可の構成

Access .mdb ファイルを操作する際の重要な側面は、アクセス許可を適切に構成することです。 Web アプリケーションが Access データベースを使用する場合、データにアクセスできるように、アプリケーションには .mdb ファイルに対する読み取りアクセス許可が必要です。 さらに、アプリケーションには、.mdb ファイルを含むフォルダーに対する書き込みアクセス許可が必要です。 書き込みアクセス許可が必要です。これは、同時実行ユーザーのデータベース ロックに関する情報を保持する拡張子が .ldb の追加ファイルを作成するためです。 .ldb ファイルは実行時に作成されます。

既定では、ASP.NET Web アプリケーションは、ASPNET というローカル コンピューター アカウントのコンテキスト (Windows 2000 Microsoft Microsoft Windows XP の場合) または NETWORK SERVICE アカウント (Microsoft Windows Server 2003 の場合) のコンテキストで実行されます。 たとえば、Windows 2000 または Windows XP の場合、Web サーバーの名前が MyServer の場合、MyServer コンピューター上 ASP.NET アプリケーションはローカル アカウント MyServer\ASPNET のコンテキストで実行されます。

そのため、ASP.NET Web アプリケーションで Access データベースを使用するには、Access データベースを含むフォルダーを、読み取りアクセス許可と書き込みアクセス許可の両方を持つよう構成する必要があります。

Microsoft Visual Web Developer Web 開発ツールで Web サイトを作成すると、Visual Web Developer によって、現在のルート フォルダーの下に App_Data という名前のフォルダーが作成されます。 フォルダーは、Access データベースを含むアプリケーション データのストアとして設計されています。 App_Data フォルダーは、メンバーシップとロールのデータベースなど、システムが管理するデータベースを格納するために、ASP.NET によっても使用されます。 Visual Web Developer は、App_Data フォルダーを作成するときに、フォルダーの読み取りおよび書き込みアクセス許可を ASPNET または NETWORK SERVICE ユーザー アカウントに付与します。

Note

Visual Web Developer は、セキュリティ対策として、フォルダー内のファイルが Web サーバーによって処理されないように、App_Data フォルダーも構成します。 ユーザーがそのフォルダーからページを要求するとエラーが表示されるため、App_Data フォルダーに Web ページを保存しないでください。

適用対象

こちらもご覧ください