Problems with Remote Data Services (RDS) are usually the result of one or more of a very common set of configuration concerns. This article describes the settings required for RDS to work properly. If any of these settings are not properly configured, then you may receive errors when trying to use RDS. Some of the most common RDS error messages are:
4099 800A1003 Unable to connect to server.
4100 800A1004 Unable to create business object.
4101 800A1005 Unable to invoke method on business object.
4351 800A10FF Unexpected error.
8447 800A20FF Internet Server error.
A virtual directory called MSADC must exist on the root of each Web site. This virtual directory must point to the \Program Files\Common Files\System\MSADC folder. The permissions of this folder must be set to Execute (Including Script)
(Internet Information Server [IIS] 4.0) or Scripts and Executables
(IIS 5.0). The MSADC virtual directory must exist as a subdirectory of any Web site that uses RDS.
NTFS and IIS Permissions
The InetInfo.exe process impersonates a user on the local system for every task it performs. This includes RDS tasks. RDS makes use of the components in the MSADC folder and may optionally access files on disk as well. If RDS accesses additional files on disk, the NTFS permissions for these files must allow a minimum of read
permissions for the user that the InetInfo.exe process impersonates.
By default, Web sites are configured to impersonate the Internet Guest User, named IUSR_<machine_name>
. However, IIS can be configured to impersonate a different user from the Directory Security
tab of the Properties
for the Web site or application. Optionally, the Web site can be configured to use Windows NT authentication. In this case, the process will use the credentials of each Windows NT user who authenticates on the site. Make sure that all of the files in the MSADC folder as well as any custom components used allow read
permissions for any users that the InetInfo.exe process will impersonate.
If a user's IP address is excluded from accessing the MSADC virtual directory, RDS will not work for the site in his or her browser. Make sure that no IP exclusions exist for the MSADC folder that will interfere with the site's use. This setting is configured in the Properties
of the MSADC folder on the Directory Security
tab. Click Edit
in the IP Address and Domain Name Restrictions
section. A dialog box will appear showing the configuration of the site's IP restrictions. Unless there are specific restrictions that need to be applied for the site, this should allow access to all IP addresses and should not exclude any.
ADCLaunch Registry Key Settings
By default, RDS disallows remote instantiation of all components except for the RDSServer.DataFactory. If a class of a component is to be accessed from RDS, a key having the name of the class must exist for the class under the ADCLaunch key located at HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch. For example, to allow instantiation of a class named objMyObject.clsMyClass, a key named objMyObject.clsMyClass would have to be added at this location. If a custom component is not working through RDS but the Adctest.asp sample page does work, then either the ADCLaunch settings or permissions on the component itself are the most likely sources of the problem. The RDSServer.DataFactory key is added by default when RDS is installed, so if you do not need this component, you may want to remove the key. The class key does not need any value but must merely exist under ADCLaunch to allow RDS access.
Starting with MDAC 2.1, the RDSServer.DataFactory by default requires that all data access be routed through a handler file. Because of this, the RDSServer.DataFactory may not work if you have not configured this handler file. You can disable this feature of the DataFactory, or you can configure and use a handler file. To disable the feature, double-click the Handunsf.reg file located in C:\Program Files\Common Files\System\MSADC and restart the Web server. This will modify the Registry for the server to allow the RDSServer.DataFactory to work without a handler.
For RDS to work through Secure Sockets Layer (SSL), your certificates must be valid and your SSL installation must be working properly. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
PRB: Invalid Certificates Cause RDS Problems