Microsoft KB Archive/102820

{|
 * width="100%"|

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