[Mono-dev] System.Data.SqlClient TDS 7.0 bigint issue

Kornél Pál kornelpal at hotmail.com
Wed Aug 10 15:34:31 EDT 2005


Hi,

If you have opinion about this issue please comment it. If the idea will be
approved I'll propose a patch.

Look at bug http://bugzilla.ximian.com/show_bug.cgi?id=53169

The problem is that Decimal is returned instead of Int64.

This is a limitation of TDS 7.0 used by Mono. .NET Framework uses TDS 8.0.

It is difficult to fix as TDS 8.0 should be implemented.

I committed a workaround that makes GetInt64 and GetSqlInt64 able to
read decimal(19,0). But there is no way in TDS 7.0 to determine
whether the type is bigint.

If you use GetValue or GetSqlValue you will get Decimal or SqlDecimal.

GetValue seems to be used by Mono users as well. And I think it's more
likely to use bigint in an MS SQL database than decimal(19,0).

What about trating decimal(19,0) as bigint but let GetDecimal and
GetSqlDecimal to return decimal(19,0)? (This would be the revrse of the
current solution.)

Kornél




More information about the Mono-devel-list mailing list