Appendix A: Troubleshooting Remote Data Services

If you have problems running Remote Data Services, first make sure you have met the hardware and software requirements for Remote Data Services. Then, make sure you have installed Remote Data Services correctly (see "Validating Setup" to validate your installation).

The following sections describe workarounds for more specific errors.

"Internet Server Error: Access Denied"

If you get this error, it usually means that Microsoft Internet Information Server (IIS) returned the following status: HTTP_STATUS_DENIED 401. Make sure the directories accessed by IIS have proper permissions. The IIS password authorization settings must include Allow Anonymous for Remote Data Services to successfully retrieve data over the HTTP protocol. (For more information, see "HTTP Protocol Permissions Setting.") Also, the Web server must have permissions to the data source computer if it is a Windows NT® computer.

"Unexpected Error" Message When Running the Sample Applications

Server Checklist

Client Checklist

Using the AdvancedDataControl with the Sheridan Combo Box Control

The Sheridan combo box has two properties that can be bound to AdvancedDataControl data. Just binding the combo box to AdvancedDataControl does not automatically populate the "Text" portion, a non-bindable property, which shows the currently selected item. As a result, old data may still be displayed after the Refresh method is called.

A workaround is to use code like either of the following two sample Visual Basic® Scripting Edition Sub procedures. Both clear the Text property when the Refresh method is called. SSCombo is the name of the Sheridan combo box control in these examples.

Sub SSCombo_InitColumnProps()
	SSCombo.Text=""
End Sub

Sub Refresh_OnClick
	ADC1.Refresh
	SSCombo.Text=""
End Sub

Deadlocks With Read Repeatable Isolation Level

If a custom business object uses an isolation level of read repeatable to access a SQL Server, and the business object is called simultaneously by two clients that send a query and update in the same transaction, a deadlock is possible. Remote Data Services is built to allow one of the processes to timeout to release the deadlock, but this will fail the update for that client.

You can add a registry entry on the Web server to modify the length of the timeout. The default is 30 seconds (or 30,000 milliseconds).

To modify the timeout value

  1. From the Start menu, click Run.

  2. Type RegEdit and click OK.

  3. In the Registry Editor, navigate to the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters key.

  4. Select the Parameters key, and then from the Edit menu, point to New, and select DWORD Value.

  5. In the Name column, type ADCUpdateTimeout and press ENTER.

  6. Double-click the new entry. In the Edit DWORD Value dialog box, enter the new value in milliseconds in the Value data box. The value must be greater than or equal to zero.

AdvancedDataControl and Multiple Resultset Requests

If your query is a multiple-resultset query, only the first resultset is returned. If multiple resultsets are needed, assign each to its own AdvancedDataControl. An example of a multiple-resultset request could be "Select * from Authors Select * from Topics".

What's the difference between ADOR.Recordset and ADODB.Recordset?

Remote Data Services applications use ADOR.Recordset objects on the client side. This makes it possible to access OLE DB data sources with Visual Basic and VBScript code (rather than C), and get recordset data to the client. If ADODB.Recordset is already registered on the client, it will use the full-featured ADODB.Recordset instead of ADOR.Recordset.

Active Data Objects (ADO) can exist in both the client and middle tiers, but the ADOR.Recordset objects that Remote Data Services uses on the client side are leaner, and implement only the recordset semantics. The ADO layer on the middle tier uses ADODB.Recordset objects and implements the Connection object and all other ADO semantics.

See Also For more information about ADOR vs. ADODB, see ADOR.Recordset vs. ADODB.Recordset Object.

Using ADO in Custom Business Objects

If you used Visual Basic to create a custom business object that uses early binding with the ADOR 1.0 type library, you should rebuild you custom business object to use the ADOR 1.5 type library.

SQL Server — Ensuring Sufficient TempDB Space

If errors occur while handling Recordset objects that need processing space on SQL Server, you may need to increase the size of the TempDB. (Some queries require temporary processing space; for example, a query with an ORDER BY clause requires a sort of the resultset, which requires some temporary space.)

Important Read through this procedure first before performing the actions because it is not as simple to shrink a device once it is expanded.

To increase the TempDB space on SQL Server

  1. Start Microsoft® SQL Server Enterprise Manager, open the tree for the Server, and then open the Database Devices tree.

  2. Select a (physical) device to expand, such as Master, and double-click the device to open the Edit Database Device dialog box.

    This dialog shows how much space the current databases are using.

  3. In the Size scroll box, increase the device to the desired amount. For example, 50 megabytes (MB) of hard disk space.

  4. Click Change Now to increase the amount of space to which the (logical) TempDB can expand.

  5. Open the Databases tree on the server, and then double-click TempDB to open the Edit Database dialog box. The Database tab lists the amount of space currently allocated to TempDB (Data Size). By default, this is 2 MB.

  6. Under the Size group, click Expand. The graphs show the available and allocated space on each of the physical devices. The bars in maroon color represent available space.

  7. Select a Log Device, such as Master to display the available size in the Size (MB) box.

  8. Click Expand Now to allocate that space to the TempDB database.

    The Edit Database dialog displays the new allocated size for TempDB.

See Also For more information on this topic, search the Microsoft SQL Server Enterprise Manager Help file for "Expand Database dialog box."

SQL Server — Minimizing Log File Space Usage

A log file may fill quickly (thus halting the server) if there is large volume activity on a SQL Server database. You can set the Log file to Truncate on Checkpoint to significantly extend the life of the log file for a database.

To enable Truncate on Checkpoint

  1. Run Microsoft SQL Server Enterprise Manager.

  2. Open the tree for the Server.

  3. Open the Databases tree.

  4. Double-click the name of the database on which this feature will be enabled.

  5. On the Database tab, click Truncate.

  6. On the Options tab, check Truncate Log on Checkpoint, and then click OK.

See Also For more information on the Truncate on Checkpoint feature, see the Microsoft SQL Server documentation.

Outdated Class IDs

If you get an error that an AdvancedDataSpace or AdvancedDataControl object does not load, make sure you are using the correct class ID. The class IDs for these objects have changed from version 1.0 and 1.1. The correct class IDs are listed in the following table.

Object Class ID
AdvancedDataControl BD96C556-65A3-11D0-983A-00C04FC29E33
AdvancedDataSpace BD96C556-65A3-11D0-983A-00C04FC29E36


© 1997 Microsoft Corporation. All rights reserved. Terms of Use.