Hi everyone, So I was playing around with the data provider and the 64-bit version of 2.1 beta 2 embedded this weekend, and I managed to get it to work.
I've got a .zip containing my changes (as applied to the provider 2.5.0-alpha1) here: http://codeka.com/tmp/firebird.net-2.5.0-alpha1-64bit-patches.zip There wasn't a lot of changes required, really, though there is one that kind of worries me. The hardest thing for me to figure out was the fact that the XSQLVAR structures were being offset incorrectly in a 64-bit build. I don't know if it's due to a bug in the structure packing of the embedded DLL or what, but I had to change the XsqldaMarshaler.ComputeLength to read: private int ComputeLength(int n) { int length = (Marshal.SizeOf(typeof(XSQLDA)) + n * Marshal.SizeOf(typeof(XSQLVAR))); if (IntPtr.Size == 8) length += 4; return length; } Basically, we need to offset the first XSQLVAR structure by 4 in a 64-bit build. Other than that, the only other thing I had to change was the StatusVector stuff in IDbClient so that it's an IntPtr instead of an int. Now, I've only tested this against my little test app that I linked to last week, as well as doing a quick test on our own internal app (which does not make use of many of firebird's features *by far* so there's plenty of opportunity for other things to be screwed up still :-) but at least we're part of the way there... Dean. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider