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 文件的位置。 支持绝对路径、相对路径和虚拟路径。

例外

提供的路径无效。

示例

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

下面的代码示例演示如何将 属性设置为 DataFile 与 Web 窗体页位于同一目录中的 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 位于 Web 窗体页所在目录下的名为 Database 的目录中的 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="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 窗体页或代码所在的目录中。 支持具有正斜杠和向后斜杠的相对路径。 例如,"./test/test/Northwind.mdb"映射到 与 和 "test/test/Northwind.mdb"相同的路径".\test\test\Northwind.mdb"。 还支持 UNC 路径,例如 "\\mymachine\somedatadirectory\Northwind.mdb"。 尽管支持绝对物理路径,但应避免使用它们,因为它们会使部署复杂化。

为访问数据库配置权限

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

默认情况下,ASP.NET Web 应用程序在 Microsoft Windows 2000 和 Microsoft Windows XP) 名为 ASPNET (的本地计算机帐户的上下文中运行,或在 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 开发工具中创建网站时,Visual Web Developer 会在当前根文件夹下创建一个名为 App_Data 的文件夹。 该文件夹设计为应用程序数据的存储,包括 Access 数据库。 ASP.NET 还使用 App_Data 文件夹来存储系统维护的数据库,例如成员资格和角色的数据库。 当 Visual Web Developer 创建 App_Data 文件夹时,它会向 ASPNET 或网络服务用户帐户授予该文件夹的读取和写入权限。

注意

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

适用于

另请参阅