BUG: dbrpcparam SQLCHAR and Sending Null for Datetime Variable

Last reviewed: April 28, 1997
Article ID: Q102820

The information in this article applies to:
  • Microsoft SQL Server Programmer's Toolkit, version 4.2
BUG# 9081 (4.2)

SYMPTOMS

In DB-Library function dbrcpparam(), using SQLCHAR type and attempting to send a null value by setting datalen to 0 does not work if the remote stored procedure parameter has variable type as DATETIME.

For example, let the stored procedure be:

   create proc test @var datetime as select @var

Then calling dbrpcparam with the following parameters, intending to send a null value by setting maxlen=0, as:

   dbrpcparam(dbproc,"@var",0,SQLCHAR,-1,0,"xyz")

displays the default date of 1 Jan, 1900, thereby treating the variable as an empty string instead of a null.

WORKAROUND

Use SQLDATETIME as the type instead of SQLCHAR to work around this problem.

STATUS

Microsoft has confirmed this to be a problem in DB-Library version 4.2. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


Additional query words: dblib
Keywords : kbbug4.20 kbprg SSrvDB_Lib SSrvProg
Version : 4.2 | 4.2 | 4.2
Platform : MS-DOS OS/2 WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 28, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.