Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
Article ID: 892119 - Last Review: March 2, 2007 - Revision: 1.4
FIX: An unexpected error occurs when you use the ExprFltrQueryBldr.ConvertExprToSqlFltrStr method in Commerce Server 2002 FP1
In Microsoft Commerce Server 2002 Feature Pack 1 (FP1), when
you use the
ExprFltrQueryBldr.ConvertExprToSqlFltrStr method to convert an expression that is in XML form to a
Microsoft SQL Server filter query string, an unexpected error occurs for some
XML expressions.
This problem occurs because of a bug in the Exprfltrbldr.dll
file.
To resolve this problem, follow these steps:
- Open the Commerce Server 2002 installation folder. By
default, this folder is the following folder:
C:\Program Files\Microsoft Commerce Server 2002
- Locate the Exprfltrbldr.dll file, and then rename the file
Exprfltrbldr.old.
- Copy the Exprfltrbldr.dll file from the \\ebizrel\qfe\cs2002fp1\1493 folder to the Commerce Server 2002 installation folder.
Microsoft
has confirmed that this is a problem in the Microsoft products that are listed
in the "Applies to" section.
The
ExprFltrQueryBldr.ConvertExprToSqlFltrStr method is used to convert an expression from XML to a SQL Server
filter query string. For more information, see the Commerce Server 2002
documentation.
When you replace the Exprfltrbldr.dll file, the
following parsing issues are corrected:
- The not-equal operator does not work for the string data type.
For example, the following code example does
not work.<CLAUSE OPER="not-equal">
<Property ID="UserObject.GeneralInfo.logon_name" TYPE="STRING"/>
<IMMED-VAL TYPE="string"><![CDATA[john]]></IMMED-VAL>
</CLAUSE>
- The not-begins-with operator does not work for the string data type.
For example, the following code example does
not work.<CLAUSE OPER="not-begins-with">
<Property ID="UserObject.GeneralInfo.logon_name" TYPE="STRING"/>
<IMMED-VAL TYPE="string"><![CDATA[s]]></IMMED-VAL>
</CLAUSE>
- The not-contains operator does not work for the string data type.
For example, the following code example does
not work.<CLAUSE OPER="not-contains">
<Property ID="UserObject.GeneralInfo.email_address" TYPE="STRING"/>
<IMMED-VAL TYPE="string"><![CDATA[ka]]></IMMED-VAL>
</CLAUSE>
- The not-in operator does not work for the string data type.
For example, the following code example does
not work.<CLAUSE OPER="not-in">
<Property ID="UserObject.GeneralInfo.logon_name" TYPE="STRING"/>
<IMMED-VAL TYPE="string" MULTIVAL="True">
<VALUE><![CDATA['qq','33']]></VALUE>
</IMMED-VAL>
</CLAUSE>
For more information about
this problem in Microsoft Commerce Server 2000, click the following article
number to view the article in the Microsoft Knowledge Base:
293400Â
(http://kbalertz.com/Feedback.aspx?kbNumber=293400/
)
ConvertExprToSqlFltrStr method returns error for some XML expressions
APPLIES TO
- Microsoft Commerce Server 2002 Service Pack 1
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate