The UPDATE/DELETE Statement from SQL Linked Server Does Not Succeed on Special Characters (327892)



The information in this article applies to:

  • Microsoft Host Integration Server 2000 SP1

This article was previously published under Q327892

SYMPTOMS

When you use a linked server in SQL Server with the OLE DB provider for DB2 (DB2OLEDB), the UPDATE/DELETE statement does not succeed if special characters are included in either the name of the library (or collection), or in the table name. These special characters include the "at" symbol (@), the "pound or sharp" symbol (#), and the dollar sign ($).

This problem does not occur with SELECT/INSERT statements.

You may experience this problem when you use either four-part naming or OPENQUERY syntax. An UPDATE/DELETE statement against the same library (collection) or table is successful from a standard ADO application outside SQL Server.

When you try to perform an update from Query Analyzer, you receive the following error message:
Server: Msg 7399, Level 16, State 1, Line 1 OLE DB provider 'DB2OLEDB' reported an error. [OLE/DB provider returned message: Insufficient base table information for updating or refreshing.]
When you try to perform a delete from Query Analyzer, you receive the following error message:
Server: Msg 7345, Level 16, State 1, Line 1 OLE DB provider 'DB2OLEDB' could not delete from table 'CATALOGNAME.LIB$NAME.TABLENAME'. There was a recoverable, provider-specific error, such as an RPC failure. [OLE/DB provider returned message: Insufficient base table information for updating or refreshing.]
A SQL Profiler trace of this problem lists the following error:
OLE/DB Provider 'DB2OLEDB' IRowsetChange::SetData returned 0x80004005

STATUS

Microsoft has confirmed that this is a problem in Microsoft Host Integration Server 2000 SP1.

MORE INFORMATION

For additional information about OLE DB Provider for DB2 and linked servers, click the article numbers below to view the articles in the Microsoft Knowledge Base:

287093 INFO: DB2OLEDB Supports UPDATE/DELETE from SQL Linked Server

218590 INF: Configuring Data Sources for the Microsoft OLE DB Provider

222937 INF: Creating a Linked Server to DB2 using Microsoft OLE DB Provider for DB2


Modification Type:MinorLast Reviewed:4/22/2005
Keywords:kbbug kbnofix KB327892