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 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, так как пользователи увидят ошибку при запросе страницы из этой папки.