AccessDataSource.DataFile Propiedad

Definición

Obtiene o establece la ubicación del archivo .mdb de Microsoft Access.

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

Valor de propiedad

La ubicación del archivo .mdb de Access. Se admiten rutas de acceso absolutas, relativas y virtuales.

Excepciones

Se proporcionó una ruta de acceso no válida.

Ejemplos

Esta sección contiene tres ejemplos de código. En el primer ejemplo de código se muestra cómo establecer la DataFile propiedad en un archivo Northwind.mdb que reside en el mismo directorio que la página formularios web. En el segundo ejemplo de código se muestra cómo establecer la DataFile propiedad en la ruta de acceso virtual de un archivo Northwind.mdb que reside en un directorio denominado Database, que está debajo del directorio en el que se encuentra la página de formularios Web Forms. En el tercer ejemplo de código se muestra cómo establecer la DataFile propiedad en una ruta de acceso UNC de un archivo Northwind.mdb que está disponible en un recurso compartido UNC.

En el ejemplo de código siguiente se muestra cómo establecer la DataFile propiedad en un archivo Northwind.mdb que reside en el mismo directorio que la página de formularios 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="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>

En el ejemplo de código siguiente se muestra cómo establecer la DataFile propiedad en la ruta de acceso virtual de un archivo de Northwind.mdb que reside en un directorio denominado Database, que está debajo del directorio en el que se encuentra la página de Formularios 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>

En el ejemplo de código siguiente se muestra cómo establecer la DataFile propiedad en una ruta de acceso UNC de un archivo Northwind.mdb que está disponible en un recurso compartido 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>

Comentarios

La DataFile propiedad es una ruta de acceso de directorio virtual, absoluta o UNC al archivo access .mdb que representa el AccessDataSource control. Si solo se escribe el nombre del archivo, esto indica que el archivo .mdb se encuentra en el mismo directorio que la página o el código de formularios web que se están ejecutando actualmente. Se admiten rutas de acceso relativas con barras diagonales hacia delante y hacia atrás. Por ejemplo, "./test/test/Northwind.mdb" se asigna a la misma ruta de acceso que ".\test\test\Northwind.mdb" y "test/test/Northwind.mdb". También se admiten rutas UNC, como "\\mymachine\somedatadirectory\Northwind.mdb", . Aunque se admiten rutas de acceso físicas absolutas, debe evitar su uso porque pueden complicar la implementación.

Configuración de permisos para una base de datos de Access

Un aspecto importante de trabajar con un archivo de Access .mdb es configurar los permisos correctamente. Cuando una aplicación web usa una base de datos de Access, la aplicación debe tener permiso de lectura para el archivo .mdb para que pueda acceder a los datos. Además, la aplicación debe tener permiso de escritura en la carpeta que contiene el archivo .mdb. Se requiere permiso de escritura porque Access crea un archivo adicional con la extensión .ldb en la que mantiene información sobre los bloqueos de base de datos para los usuarios simultáneos. El archivo .ldb se crea en tiempo de ejecución.

De forma predeterminada, ASP.NET aplicaciones web se ejecutan en el contexto de una cuenta de equipo local denominada ASPNET (para Microsoft Windows 2000 y Microsoft Windows XP), o en el contexto de la cuenta NETWORK SERVICE (para Microsoft Windows Server 2003). Por ejemplo, para Windows 2000 o Windows XP, si el servidor web se denomina MyServer, ASP.NET aplicaciones en el equipo MyServer se ejecutan en el contexto de la cuenta local MyServer\ASPNET.

Por lo tanto, para usar una base de datos de Access en una aplicación web de ASP.NET, debe configurar la carpeta que contiene la base de datos de Access para tener permisos de lectura y escritura.

Al crear un sitio web en la herramienta de desarrollo web microsoft Visual Web Developer, Visual Web Developer crea una carpeta denominada App_Data debajo de la carpeta raíz actual. La carpeta está diseñada para ser un almacén para los datos de la aplicación, incluidas las bases de datos de Access. La carpeta App_Data también se usa en ASP.NET para almacenar las bases de datos que mantiene el sistema, como la base de datos para pertenencia y roles. Cuando Visual Web Developer crea la carpeta App_Data, concede permisos de lectura y escritura para la carpeta a la cuenta de usuario de ASPNET o NETWORK SERVICE.

Nota

Como medida de seguridad, Visual Web Developer también configura la carpeta App_Data para que el servidor web no sirva los archivos de la carpeta. No almacene ninguna página web en la carpeta App_Data, ya que los usuarios verán un error si solicitan una página de esa carpeta.

Se aplica a

Consulte también