The PRINT, RAISERROR, DBCC commands and the ODBC Driver for SQL Server 2000 and SQL Server 7.0 (280109)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)
  • Microsoft SQL Server 7.0

This article was previously published under Q280109

SUMMARY

For the ODBC 3.5x compliant SQL Server driver, messages from consecutive PRINT, RAISERROR, DBCC, or similar statements, as in a batch or stored procedure, are returned in a separate result set for each statement.

MORE INFORMATION

With Microsoft SQL Server 6.x and 2.x ODBC driver, messages from consecutive PRINT, RAISERROR, DBCC, or similar statements as in a batch or stored procedure were combined into a single result set. However, for the ODBC 3.5x compliant SQL Server driver (provided with SQL Server 2000 or SQL Server 7.0), the messages from these consecutive statements are returned in separate result sets. To process the results of these commands, use the SQLMoreResults statement.

For example:
SQLExecDirect(hstmnt,"PRINT 'SomeMessage1'",SQL_NTS)
SQLExecDirect(hstmnt,"PRINT 'SomeMessage2'",SQL_NTS)
				
The first call to SQLERROR returns:
SQL_SUCCESS=0
*szSqlState = "01000", *pfNativeError = 0, *szErrorMsg = "[Microsoft][ODBC SQL Server Driver][SQL Server]SomeMessage1"
				
Then, a call to SQLMoreResults returns:
SQL_SUCCESS_WITH_INFO
				
The immediate call to SQLERROR returns:
SQL_SUCCESS=0
*szSqlState = "01000", *pfNativeError = 0, *szErrorMsg = "[Microsoft][ODBC SQL Server Driver][SQL Server]SomeMessage2"
				

REFERENCES

For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

140696 INF: RAISERROR, PRINT, and the MS SQL Server ODBC Driver


Modification Type:MajorLast Reviewed:12/21/2004
Keywords:kbDatabase kbinfo KB280109