AccessDataSource.DataFile Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает расположение MDB-файла 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
Значение свойства
Расположение MDB-файла Access. Поддерживаются абсолютные, относительные и виртуальные пути.
Исключения
Указан недопустимый путь.
Примеры
Этот раздел содержит три примера кода. В первом примере кода показано, как задать DataFile для свойства файл Northwind.mdb, который находится в том же каталоге, что и страница веб-формы. Во втором примере кода показано, как задать DataFile для свойства виртуальный путь к файлу Northwind.mdb, который находится в каталоге с именем Database, который находится под каталогом, в котором находится страница веб-формы. В третьем примере кода показано, как задать DataFile для свойства UNC-путь файла Northwind.mdb, доступного в UNC-ресурсе.
В следующем примере кода показано, как задать DataFile для свойства файл 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 для свойства виртуальный путь к файлу Northwind.mdb, который находится в каталоге с именем Database, который находится под каталогом, в котором находится страница веб-формы.
<%@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 представляет собой виртуальный, абсолютный или UNC-путь к MDB-файлу Access, который AccessDataSource представляет элемент управления. Если введено только имя файла, это означает, что MDB-файл находится в том же каталоге, что и текущий исполняемый файл веб-формы страницы или кода. Поддерживаются относительные пути с косыми чертами вперед и назад. Например, "./test/test/Northwind.mdb"
сопоставляется с тем же путем, что ".\test\test\Northwind.mdb"
и "test/test/Northwind.mdb"
. Кроме того, поддерживаются UNC-пути, например "\\mymachine\somedatadirectory\Northwind.mdb"
. Хотя поддерживаются абсолютные физические пути, их следует избегать, так как они могут усложнить развертывание.
Настройка разрешений для базы данных Access
Важным аспектом работы с MDB-файлом Access является правильная настройка разрешений. Когда веб-приложение использует базу данных Access, приложение должно иметь разрешение на чтение MDB-файла, чтобы он смог получить доступ к данным. Кроме того, приложение должно иметь разрешение на запись в папку, содержащую MDB-файл. Разрешение на запись является обязательным, так как Access создает дополнительный файл с расширением LDB, в котором он хранит сведения о блокировках базы данных для одновременных пользователей. LDB-файл создается во время выполнения.
По умолчанию ASP.NET веб-приложения выполняются в контексте учетной записи локального компьютера с именем ASPNET (для Microsoft Windows 2000 и Microsoft Windows XP) или в контексте учетной записи NETWORK SERVICE (для Microsoft Windows Server 2003). Например, для Windows 2000 или Windows XP, если веб-сервер называется MyServer, ASP.NET приложения на компьютере MyServer выполняются в контексте локальной учетной записи MyServer\ASPNET.
Таким образом, чтобы использовать базу данных Access в веб-приложении ASP.NET, необходимо настроить папку, содержащую базу данных Access, с разрешениями на чтение и запись.
При создании веб-сайта в средстве разработки веб-разработчиков Microsoft Visual Web Developer visual Web Developer создается папка с именем App_Data под текущей корневой папкой. Эта папка предназначена для хранения данных приложения, включая базы данных Access. Папка App_Data также используется ASP.NET для хранения баз данных, обслуживаемых системой, таких как база данных для членства и ролей. Когда Visual Web Developer создает папку App_Data, она предоставляет разрешения на чтение и запись для папки учетной записи пользователя ASPNET или NETWORK SERVICE.
Примечание
В качестве меры безопасности Visual Web Developer также настраивает папку App_Data таким образом, чтобы файлы в папке не обслуживались веб-сервером. Не храните веб-страницы в папке App_Data, так как пользователи увидят ошибку при запросе страницы из этой папки.