?
Solved

Data Access Page Error

Posted on 2003-02-22
15
Medium Priority
?
794 Views
Last Modified: 2012-06-21
I am using Windows XP Professional with IIS 5.1 installed to host data access pages for an MS Access database.  I have read through endless pages of configuration documentation, but I always end up with this same problem.

When I point Internet Explorer to the data access page on my local web server, it displays the page with empty fields and says "Internet Client Error: Cannot Connect to Server."

I am totally stumpped here.

I have tried several different modifications of c:\winxp\msdfmap.ini that seemed to have no affect at all.

The UseRemoteProvider field has been set to True for all of my test pages.  If I try to load the pages from the HD it will properly display an error about that.. but for some reason the page will load from my server and then fail to databind.

Any help or ideas will be greatly appreciated!
0
Comment
Question by:miqrogroove
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 9
  • 4
15 Comments
 
LVL 1

Expert Comment

by:rquaglia
ID: 8002417
Hello!

just a thought: maybe your XP firewall blocks connection from your client?

HTH!
Roby
0
 
LVL 11

Author Comment

by:miqrogroove
ID: 8002455
There are no firewalls on this system.  Regardless, I can reproduce this problem at localhost.

Interestingly, if I switch the server from port 8080 to port 80, then the error message changes to "Data provider failed while executing a provider command."

This could provide a few more hours of futile experimentation :)
0
 
LVL 1

Expert Comment

by:rquaglia
ID: 8002475
I'm sorry!
Have you tried to post answer also in

Web Development  Web Servers  IIS

Maybe a IIS problem...

Good luck! ;-)

Roby
0
Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

 
LVL 11

Author Comment

by:miqrogroove
ID: 8002962
I have made some progress now.  By changing a registry key I am able to connect with the data access page.  However, I cannot find any way to make it prompt for the database user name and password.  It will connect only if these are stored in the file, and will not prompt for them if they are missing : (
0
 
LVL 11

Author Comment

by:miqrogroove
ID: 8091227
Here is a related problem that I would be willing to give points for:  When I changed that registry key,

HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\SystemDB

then the RRAS service failed to load.  Changing it back to "system.mdb" has the affect of restoring the RRAS service, but then of course my data access pages will not load properly.  Is there any way to get around this?  Since that one registry key is the only way I have found to make my access pages databind it is important for this project.
0
 
LVL 1

Expert Comment

by:rquaglia
ID: 8094174
Hi migrogroove!
maybe your Access is not updated with latest patch about Jet?

I've found this link on microsoft:

http://support.microsoft.com/default.aspx?scid=KB;en-us;q239114

HTH (again :) !

Roby
0
 
LVL 11

Author Comment

by:miqrogroove
ID: 8094285
Thanks for the idea.  I am using Windows XP with Service Pack 1 and all of the system updates.  Therefore, the patch you mentioned is already installed.
0
 
LVL 1

Expert Comment

by:rquaglia
ID: 8094303
I'm so sorry (sigh! :-< )
I read this on the link I give you:

( http://support.microsoft.com/default.aspx?scid=KB;en-us;q239114 )

"" Click the following link to download and install the correct version of Jet 4.0 SP6 on computers based on the language version of Windows XP that the computer is running.
http://windowsupdate.microsoft.com

On the Windows Update page, click Scan for updates. After the scan is completed, click Windows XP under Pick updates to install in the left pane. The link for the Jet 4.0 SP6 download is listed under Recommended Updates as "Q282010: Microsoft Jet 4.0 Service Pack 6 (Windows XP)" in the right pane. ""

... And I hoped that was the problem...
Roby

0
 
LVL 11

Author Comment

by:miqrogroove
ID: 8104708
I have discovered a solution that, while imperfect, seems to allow IIS and RRAS to peacefully coexist.

The important discovery I made is that RRAS will load successfully if the SystemDB key points to an .mdw file that contains the Admin/no password combination.

Therefore, I have created two .mdw files.  The necessity for the second file arrises because MS Access will not prompt for a password if the Admin account has no password.  If the database is properly configured to deny access to the Admin account, then the .mdw configuration mentioned above would not allow any logins.

The first .mdw file is configured as usual.  It has the login user names and passwords, plus the Admin account has a randomized password and is denied all access to the database, and is not the owner of any database objects.  The Access Workgroup is set to the location of this file.

The second .mdw file is configured to contain only the login user name and password that will be used by IIS and the data access pages.  After this configuration the Admin password is deleted and the SystemDB key set to the location of this file.

It is important to remember that the account common to both .mdw files must have the same key/id string.

This is the best solution I have found so far.  If anyone has a solution that does not involve the registry hacks, please let me know.
0
 
LVL 18

Expert Comment

by:1William
ID: 8717314
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:
Delete question, refund points
Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
1William
EE Cleanup Volunteer
0
 
LVL 11

Author Comment

by:miqrogroove
ID: 8719238
Hi 1William.  The information I posted on March 10 may be valuable into the future for other Expert Exchange users.  Feel free to refund the points but do consider archiving this thread.

Thanks.
0
 
LVL 11

Author Comment

by:miqrogroove
ID: 11685464
Regarding my second comment in this thread:

  Since I was never able to make the server prompt the user for a database user name and password, I ended up saving them to a file as an unappetizing compromize.  But today I came across a fascinating article about this problem at microsoft.com.  It does not have a publication date.  It only says Last Reviewed 7/28/2004

http://support.microsoft.com/default.aspx?kbid=840258

  I will attempt to implement this solution and then post my results!

-- Miqro
0
 
LVL 11

Author Comment

by:miqrogroove
ID: 11685504
Also, this article points out the problem with the System Database path not being recognized from the Data Access Page Parameters.  Appearently, the syntax generated by the Access Page Design View is incorrect:

Jet OLEDB:System database=

The confusion described above involving registry hacks can be avoided by using this corrected syntax:

Extended Properties=Jet OLEDB:System database=


EE Staff please note that it may be necessary to change the accepted solution to this question.
0
 
LVL 11

Accepted Solution

by:
miqrogroove earned 0 total points
ID: 11686615
I successfully implemented a login page using the instructions in Microsoft's KB article.  It leaves a lot to be desired, though.

Now that the MDW is properly connected, let's say I want to save a default user name and password anyway?  What about users who go to the DAP without a cookie?  Disabled cookies?  Need a logout page?

First of all, clean up that glaring bug in step #5:

If intValueLength=-1 then

That's just bozo code!  Replace it like so:

If intValueLength<1 then

While in there, wrap the script with an If statement:

If readCookie("pUserID") = "" Then
window.navigate("login.html")
Else


The suggested Authenticate.htm would be an obvious pain the side.  Here is a slightly better version I wrote for anyone who needs a starting point:

LOGIN.HTML

<HTML>
<HEAD>
<TITLE>Authenticate User</TITLE>
<SCRIPT language="VBScript">
document.cookie="test=test"
If len(document.cookie) = 0 Then
 MsgBox "Cookies must be enabled to logon successfully.  Please check your settings."
End If
Sub writeCookie(strVariableName, varVariableValue)
Document.Cookie = strVariableName & "=" & varVariableValue
End Sub
Function openDAP()
Dim varUserID
Dim varPWD
varUserID = document.all.txtUserID.value
varPWD = document.all.txtPWD.value
writeCookie "pUserID", varUserID
writeCookie "pPWD", varPWD
If len(document.cookie) = 0 Then
 MsgBox "Cookies must be enabled to logon successfully.  Please check your settings."
Else
 window.navigate("<Page To Show After Login>")
End If
openDAP = false
End Function
</SCRIPT>
</HEAD>
<BODY>
<FORM id="form1" onSubmit="return openDAP();" language="jscript">
<TABLE>
<TR>
<TD>User Name:</TD>
<TD><input type="text" name="txtUserID" size="20" value="<Default Username>"></TD>
</TR>
<TR>
<TD>Password:</TD>
<TD><input type="password" name="txtPWD" size="20" value="<Default Password>"></TD>
</TR>
</TABLE>
<P><input type="Submit" value="Database Login"
name="B2"></P>
</FORM>
</BODY>
</HTML>


And because users might not want other people to use their databases...

LOGOUT.HTML

<HTML>
<HEAD>
<TITLE>Logout</TITLE>
<SCRIPT language="VBScript">
Document.Cookie="pUserID="
Document.Cookie="pPWD="
window.navigate("./")
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>


Enjoy,

-- Miqro
0

Featured Post

Want to be a Web Developer? Get Certified Today!

Enroll in the Certified Web Development Professional course package to learn HTML, Javascript, and PHP. Build a solid foundation to work toward your dream job!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s the first day of March, the weather is starting to warm up and the excitement of the upcoming St. Patrick’s Day holiday can be felt throughout the world.
Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question