次の方法で共有


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 フォーム ページと同じディレクトリにあるNorthwind.mdb ファイルに プロパティを設定 DataFile する方法を示します。 2 番目のコード例では、 プロパティを、Web フォーム ページがあるディレクトリの下にある Database という名前のディレクトリに存在するNorthwind.mdb ファイルの仮想パスに設定 DataFile する方法を示しています。 3 番目のコード例では、 プロパティを DataFile UNC 共有で使用できるNorthwind.mdb ファイルの UNC パスに設定する方法を示します。

次のコード例では、 プロパティを Web フォーム ページと同じディレクトリにある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 フォーム ページのディレクトリの下にある 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 ディレクトリ パスです。 ファイルの名前のみを入力すると、現在実行中の Web フォーム ページまたはコードと同じディレクトリに.mdb ファイルが見つかったことを示します。 スラッシュとバックスラッシュの両方を持つ相対パスがサポートされています。 たとえば、 "./test/test/Northwind.mdb" と と同じパス".\test\test\Northwind.mdb""test/test/Northwind.mdb"にマップします。 などの "\\mymachine\somedatadirectory\Northwind.mdb"UNC パスもサポートされています。 絶対物理パスはサポートされていますが、展開が複雑化する可能性があるため、絶対物理パスの使用は避ける必要があります。

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

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

既定では、ASP.NET Web アプリケーションは、ASPNET というローカル コンピューター アカウント (Microsoft Windows 2000 および 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 ユーザー アカウントに付与します。

注意

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

適用対象

こちらもご覧ください