Article ID: 259775
Article Last Modified on 3/14/2006
APPLIES TO
- Microsoft SQL Server 7.0 Service Pack 1
- Microsoft SQL Server 7.0 Service Pack 2
This article was previously published under Q259775
BUG #: 57545 (SQLBUG_70)
SYMPTOMS
If you use Microsoft SQL Server 7.0 Service Pack 1 or Service Pack 2, and you use ISNULL as an expression that performs a divide by zero while the client has ANSI_WARNINGS set to OFF, the client disconnects. The errors that occur differ slightly depending on whether the client is ODBC, OLE DB or DB-Library-based. The ODBC and DB-Library errors follow.
ODBC Error:
DB-Library Error:
WORKAROUND
Set ANSI_WARNINGS to ON, or change the expression so that it will not encounter a divide by zero error.
STATUS
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
For more information, contact your primary support provider.
MORE INFORMATION
For ODBC and OLE DB-based connections, ANSI_WARNINGS are set ON by default. For a DB-Library-based connection, the ANSI_WARNINGS option is set to OFF by default.
The following script demonstrates the problem:
use pubs set ansi_warnings off go create table test(col1 int not null, col2 int not null) insert test values(1,0) go select ISNULL(col1/col2, 0) from test
This script should return 0.
Additional query words: TDS broken connection
Keywords: kbbug kbfix kbqfe KB259775