Microsoft KB Archive/252986
Article ID: 252986
Article Last Modified on 8/24/2001
- Microsoft Data Access Components 2.5
This article was previously published under Q252986
When you are using the Microsoft OLE DB Provider for Internet Publishing (Internet Publishing Provider [IPP]) to get a pointer to a read-only file on the server, you may receive either an "Enter Network Password" dialog box or a "Permission Denied" error message. If your Windows NT challenge/response (NTLM) account has sufficient privileges, you may not get either of these error messages, but the read-only attribute of the file on the server will be reset.
Note that this happens even when you call IBindResource::Bind() to obtain a read-only IStream object with one of the following flags:
DBBINDURLFLAG_READ | DBBINDURLFLAG_SHARE_DENY_WRITE DBBINDURLFLAG_READ | DBBINDURLFLAG_SHARE_DENY_READ
When IPP obtains a "deny-shared" or "deny-read" pointer to an IStream object of a read-only file located on a server, IPP issues a write-lock through the use of Microsoft FrontPage Server Extensions RPC calls. A write-lock issued to FrontPage Server Extensions resets the read-only attribute of the file.
To resolve this problem, you can use the DBBINDURLFLAG_READ | DBBINDURLFLAG_SHARE_DENY_NONE flags to obtain an IStream pointer to a read-only file. Note that although this method will work, under certain circumstances (such as when someone tries to modify this file while a client is downloading it) the file can become corrupted.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
Steps to Reproduce Behavior
- Make sure that you have MDAC 2.5 installed on your client computer.
Copy and compile the Sample1 application from MSDN. This is located in the MSDN Library at the following location:
Platform SDK Web Services Microsoft OLE DB Provider for Internet Publishing Sample Programs
- Use the following command line to download a file through the use of that compiled application:
Additional query words: fp msdaipp.dll msdaipp readonly
Keywords: kbbug kbdatabase kbmdacnosweep kbpending KB252986