BUG: dbrpcparam SQLCHAR and Sending Null for Datetime Variable |
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 : kbprogramming
Issue type :
Technology : kbSQLServSearch kbAudDeveloper kbSQLServPTK420
Last Reviewed: March 18, 1999 |