Hi,

Horodyski Marek (PZUZ) wrote:
Mindaugas, I have new error from SQL Serwer :
oErr:osCode_______     65531

65531 ~ -5
It is SQL_BIGINT.


Where/how can I try improve it (in odbcdd.c) ? :
...
         case SQL_TINYINT:
         case SQL_SMALLINT:
         case SQL_INTEGER:
           pFieldInfo.uiType = HB_FT_INTEGER;
           break;

Try to add the fourth case sentence:
   case SQL_BIGINT:

But I do not know how big is this "bigint" value. Please, try uncomment debug line: HB_TRACE( HB_TR_ALWAYS, ("field: name=%s type=%d len=%d dec=%d null=%d", pFieldInfo.atomName, iDataType, uiSize, iDec, iNull ) );
and report result for bigint filed type.

Testing of "big" values (larger that +/- 2^32) is also required to make support for bigint complete. Perhaps we will need to adjust code:

   case HB_FT_INTEGER:
   {
      long int  val = 0;
if( SQL_SUCCEEDED( res = SQLGetData( hStmt, ui, SQL_C_LONG, &val, sizeof( val ), &iLen ) ) )
      {
         pItem = hb_itemPutNLLen( NULL, val, pField->uiLen );
      }
      break;
   }

to support all range of bigint values.


Regards,
Mindaugas
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to