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

属性值

String

Access .mdb 文件的位置。 支持绝对路径、相对路径和虚拟路径。

例外

提供的路径无效。

示例

本部分包含三个代码示例。 第一个代码示例演示如何将DataFile属性设置为位于Web Forms页所在的同一目录中的 Northwind.mdb 文件。 第二个代码示例演示如何将DataFile属性设置为位于名为 Database 的目录中的 Northwind.mdb 文件的虚拟路径,该目录位于Web Forms页所在的目录下。 第三个代码示例演示如何将 DataFile 属性设置为 UNC 共享上可用的 Northwind.mdb 文件的 UNC 路径。

下面的代码示例演示如何将DataFile属性设置为位于Web Forms页所在的同一目录中的 Northwind.mdb 文件。

<%@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>

下面的代码示例演示如何将DataFile属性设置为位于名为 Database 的目录中的 Northwind.mdb 文件的虚拟路径,该目录位于Web Forms页所在的目录下。

<%@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>

下面的代码示例演示如何将 DataFile 属性设置为 UNC 共享上可用的 Northwind.mdb 文件的 UNC 路径。

<%@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页或代码所在的同一目录中。 支持具有正斜杠和向后斜杠的相对路径。 For example, "./test/test/Northwind.mdb" maps to the same path as ".\test\test\Northwind.mdb" and "test/test/Northwind.mdb". 还支持 UNC 路径,例如 "\\mymachine\somedatadirectory\Northwind.mdb"。 尽管支持绝对物理路径,但应避免使用它们,因为它们可能会使部署复杂化。

配置 Access 数据库的权限

使用 Access .mdb 文件的重要方面是正确配置权限。 当 Web 应用程序使用 Access 数据库时,应用程序必须具有对 .mdb 文件的读取权限,以便它可以访问数据。 此外,应用程序必须具有对包含 .mdb 文件的文件夹的写入权限。 需要写入权限,因为 Access 会创建扩展名为 .ldb 的其他文件,用于维护并发用户的数据库锁的相关信息。 .ldb 文件在运行时创建。

默认情况下,ASP.NET Web 应用程序在 Microsoft (Windows 2000 和 Microsoft Windows XP) 的本地计算机帐户的上下文中运行,或在 Microsoft Windows Server 2003) 的网络服务帐户 (上下文中运行。 例如,对于 Windows 2000 或 Windows XP,如果 Web 服务器名为 MyServer,ASP.NET MyServer 计算机上的应用程序在本地帐户 MyServer\ASPNET 的上下文中运行。

因此,若要在 ASP.NET Web 应用程序中使用 Access 数据库,必须将包含 Access 数据库的文件夹配置为同时具有读取和写入权限。

在 Microsoft Visual Web Developer Web 开发工具中创建网站时,Visual Web Developer 会在当前根文件夹下方创建一个名为App_Data的文件夹。 该文件夹设计为应用程序数据的存储,包括 Access 数据库。 App_Data文件夹也由 ASP.NET 用于存储系统维护的数据库,例如成员身份和角色的数据库。 当 Visual Web 开发人员创建App_Data文件夹时,它会向 ASPNET 或 NETWORK SERVICE 用户帐户授予该文件夹的“读取”和“写入”权限。

备注

作为安全措施,Visual Web 开发人员还会配置App_Data文件夹,以便文件夹中的文件不受 Web 服务器服务。 不要将任何网页存储在App_Data文件夹中,因为如果用户从该文件夹中请求页面,用户将看到错误。

适用于

另请参阅