Article ID: 327892
Article Last Modified on 4/22/2005
APPLIES TO
- Microsoft Host Integration Server 2000 Service Pack 1
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:
When you try to perform a delete from Query Analyzer, you receive the following error message:
A SQL Profiler trace of this problem lists the following error:
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
Additional query words: DQP DB2
Keywords: kbbug kbnofix KB327892