[Mono-dev] Problem with Odbc on 64 bit identified, please advise action

Mads Bondo Dydensborg mbd at dbc.dk
Tue Mar 18 18:26:44 EDT 2008


Hi there

In libodbc.cs, imports are on this form:

		[DllImport("odbc32.dll")]
		internal static extern OdbcReturn SQLGetData (
			IntPtr StatementHandle,
			ushort ColumnNumber,
			SQL_C_TYPE TargetType,
			ref OdbcTimestamp TargetPtr,
			int BufferLen,
			ref int Len);

BufferLen and Len are ints. However, on 64 bit odbc (tested with Debian 
4.0/AMD using Sybase 9.0.2), they need to be long/64 bit. This works, whereas 
the above does not:

		[DllImport("odbc32.dll")]
		internal static extern OdbcReturn SQLGetData (
			IntPtr StatementHandle,
			ushort ColumnNumber,
			SQL_C_TYPE TargetType,
			ref OdbcTimestamp TargetPtr,
			System.Int64 BufferLen,
			ref System.Int64 Len);

There are problem also other places, besides SQLGetData

So, what to do? Should I just file a bug, or any suggestions on a patch? I 
have no idea about Odbc per se, I just needed this to work. :-/

Regards

Mads

-- 
Med venlig hilsen/Regards

Systemudvikler/Systemsdeveloper cand.scient.dat, Ph.d., Mads Bondo Dydensborg
Dansk BiblioteksCenter A/S, Tempovej 7-11, 2750 Ballerup, Tlf. +45 44 86 77 34


More information about the Mono-devel-list mailing list