If you have problems running the Remote Data Service, first make sure you have met the hardware and software requirements for RDS. Then, make sure you have installed Remote Data Service 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. RDS 1.1 can communicate with an IIS Web server running in any one of the three Password Authentication modes: Anonymous, Basic, or NT Challenge/Response. Unlike previous versions, the Allow Anonymous setting is no longer required. 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
Using the RDSIE3.DataControl with the Sheridan Combo Box Control
The Sheridan combo box has two properties that can be bound to RDSIE3.DataControl data. Just binding the combo box to RDSIE3.DataControl doesn't 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
Sorting Client-side Recordset Data
To sort on a Recordset, any pending changes must first be saved. If you are using the RDS.DataControl, you can use the SubmitChanges method. For example, if your RDS.DataControl is named ADC1, your code would be ADC1.SubmitChanges
. If you are using an ADO Recordset, you can use its UpdateBatch method. Using UpdateBatch is the recommended method for Recordset objects created with the CreateRecordset method. For example, your code could be myRS.UpdateBatch
or ADC1.Recordset.UpdateBatch
.
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 Service 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
RDSIE3.DataControl and Multiple Recordset Requests
If you query for multiple results, only the first Recordset is returned. If multiple result sets are needed, assign each to its own RDSIE3.DataControl. An example of a query for multiple results could be "Select * from Authors Select * from Topics"
.
What's the difference between ADOR.Recordset and ADODB.Recordset?
Remote Data Service 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 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 Service 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.
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 your custom business object to use the ADOR 1.5 type library.
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 Recordset, which requires some temporary space.)
Important Read through this procedure first before performing the actions because it isn't as easy to shrink a device once it is expanded.
To increase the TempDB space on SQL Server
This dialog shows how much space the current databases are using.
The Edit Database dialog displays the new allocated size for TempDB.
See Also For more information about this topic, search the Microsoft SQL Server Enterprise Manager Help file for "Expand Database dialog box."
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
See Also For more information about the Truncate on Checkpoint feature, see the Microsoft SQL Server documentation.