Microsoft KB Archive/102820: Difference between revisions

From BetaArchive Wiki
(importing KB archive)
 
m (Text replacement - """ to """)
 
Line 32: Line 32:




<pre class="CODESAMP">  dbrpcparam(dbproc,&quot;@var&quot;,0,SQLCHAR,-1,0,&quot;xyz&quot;) </pre>
<pre class="CODESAMP">  dbrpcparam(dbproc,"@var",0,SQLCHAR,-1,0,"xyz") </pre>
<br />
<br />
displays the default date of 1 Jan, 1900, thereby treating the variable as an empty string instead of a null.
displays the default date of 1 Jan, 1900, thereby treating the variable as an empty string instead of a null.

Latest revision as of 09:23, 20 July 2020

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
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.