Tải bản đầy đủ (.pdf) (2 trang)

Connecting to an Access Databasefrom ASP.NET

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (13.65 KB, 2 trang )


[ Team LiB ]


Recipe 1.5 Connecting to an Access Databasefrom ASP.NET
Problem
You know your connection string is correct, but still can't connect to your Microsoft
Access database from your ASP.NET application. What are the differences between
connecting from a Windows Forms .NET application and an ASP.NET application?
Solution
You must grant the necessary file permissions for accessing a Jet database (Microsoft's
transparent data access engine) to the default user account used by ASP.NET.
Discussion
When a user retrieves a page from an ASP.NET web site, code runs on the server to
generate and deliver the page. By default, IIS (Internet Information Server) uses the
system account to provide the security context for all processes. This account can access
the IIS computer, but is not allowed to access network shares on other computers.
To allow an ASP.NET application to connect to a Microsoft Access database, IIS must be
configured to use an account other than the system account. The new account must be
configured to have permission to access all files and folders needed to use the Access
database. If the Access database is on a remote computer, the account also requires access
to that computer.
The following sections describe how to configure the IIS Server and the Access computer
to allow ASP.NET to connect to an Access database.
Configure IIS
The system account cannot authenticate across a network. Enable impersonation in the
web.config file for a given ASP.NET application so that ASP.NET impersonates an
account on the Microsoft Access computer with the required access permissions to the
Access database. For example:
<identity impersonate="true" userName="domain\username"
password="myPassword" />


This method stores the username and password in clear text on the server. Ensure that IIS
is configured to prevent users of the web site from viewing the contents of the web.config
file—this is the default configuration. Other ways to impersonate a user from an ASP
page are described in the Microsoft Knowledge Base article Q248187.
The Microsoft Jet engine uses the TEMP folder on the IIS computer that is accessing the
Access database. The user identity requires NTFS (Windows NT File System) full-
control permissions on the TEMP folder. Ensure that the TEMP and TMP environment
variables are properly configured.
Configure the Access server
On the Access computer, the user account that is used to access the database requires
Read, Write, Execute, and Change permissions on the database file. The user identity
needs Read, Write, Execute, Delete, and Change permissions on the folder containing the
database files. The user account requires permissions to access the share that contains the
database file and folders.
The user account must be recognized by the Access computer. For a domain user
account, add it to the permissions list on both computers. For a user account local to the
IIS computer, create a duplicate account on the Access computer with the same name and
password.
Grant the user account Log on Locally and Access this Computer from the Network
permission to access the computer in the local security policy. These permissions are
assigned within the Security Settings \Local Policies\User Rights Assignment node in the
Local Security Policy tool.

[ Team LiB ]


×