AccessDataSource.DataFile Propriedade

Definição

Obtém ou define a localização do ficheiro 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

Valor de Propriedade

A localização do ficheiro Access .mdb. São suportados caminhos absolutos, relativos e virtuais.

Exceções

Foi dado um caminho inválido.

Exemplos

Esta secção contém três exemplos de código. O primeiro exemplo de código demonstra como definir a DataFile propriedade para um ficheiro Northwind.mdb que reside no mesmo diretório da página Web Forms. O segundo exemplo de código demonstra como definir a DataFile propriedade para o caminho virtual de um ficheiro Northwind.mdb que reside num diretório chamado Database, que está por baixo do diretório onde se encontra a página Web Forms. O terceiro exemplo de código demonstra como definir a DataFile propriedade para um caminho UNC de um ficheiro Northwind.mdb disponível numa partilha UNC.

O exemplo de código seguinte demonstra como definir a DataFile propriedade para um ficheiro Northwind.mdb que reside no mesmo diretório da página 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>

O exemplo de código seguinte demonstra como definir a DataFile propriedade para o caminho virtual de um ficheiro Northwind.mdb que reside num diretório chamado Database, que se encontra por baixo do diretório onde se encontra a página 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>

O exemplo de código seguinte demonstra como definir a DataFile propriedade para um caminho UNC de um ficheiro Northwind.mdb disponível numa partilha 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>

Observações

A DataFile propriedade é um caminho de diretório virtual, absoluto ou UNC para o ficheiro Access .mdb que o AccessDataSource controlo representa. Se apenas o nome do ficheiro for introduzido, isto indica que o ficheiro .mdb se encontra no mesmo diretório da página ou código Web Forms atualmente em execução. São suportados caminhos relativos com barras para a frente e para trás. Por exemplo, "./test/test/Northwind.mdb" mapeia para o mesmo caminho que ".\test\test\Northwind.mdb" e "test/test/Northwind.mdb". Caminhos UNC, como "\\mymachine\somedatadirectory\Northwind.mdb", também são suportados. Embora os caminhos físicos absolutos sejam suportados, deve evitar usá-los porque podem complicar a implantação.

Configuração de Permissões para uma Base de Dados de Acesso

Um aspeto importante de trabalhar com um ficheiro de .mdb de acesso é configurar as permissões corretamente. Quando uma aplicação Web utiliza uma base de dados Access, a aplicação deve ter permissão de Leitura para o ficheiro .mdb para poder aceder aos dados. Além disso, a aplicação deve ter permissão de Escrita para a pasta que contém o ficheiro .mdb. A permissão de escrita é necessária porque o Access cria um ficheiro adicional com a extensão .ldb no qual mantém informações sobre bloqueios de base de dados para utilizadores concorrentes. O ficheiro .ldb é criado em tempo de execução.

Por defeito, ASP.NET aplicações Web executam-se no contexto de uma conta de máquina local chamada ASPNET (para Microsoft Windows 2000 e Microsoft Windows XP), ou no contexto da conta NETWORK SERVICE (para Microsoft Windows Server 2003). Por exemplo, para Windows 2000 ou Windows XP, se o servidor Web se chama MyServer, as aplicações ASP.NET no computador MyServer correm no contexto da conta local MyServer\ASPNET.

Portanto, para usar uma base de dados Access numa aplicação Web ASP.NET, deve configurar a pasta que contém a base de dados Access para ter permissões de Leitura e Escrita.

Quando cria um site na ferramenta de desenvolvimento web Microsoft Visual Web Developer, o Visual Web Developer cria uma pasta chamada App_Data abaixo da pasta raiz atual. A pasta foi concebida para ser um armazenamento de dados de aplicações, incluindo bases de dados do Access. A pasta App_Data também é usada por ASP.NET para armazenar bases de dados que o sistema mantém, como a base de dados para membros e funções. Quando o Visual Web Developer cria a pasta App_Data, concede permissões de Leitura e Escrita para a pasta à conta de utilizador ASPNET ou NETWORK SERVICE.

Note

Como medida de segurança, o Visual Web Developer também configura a pasta App_Data para que os ficheiros na pasta não sejam servidos pelo servidor Web. Não guarde nenhuma página Web na pasta App_Data, pois os utilizadores verão um erro se pedirem uma página dessa pasta.

Aplica-se a

Ver também