[DllImport("odbc32.dll", SetLastError=true)]
static extern short SQLSetEnvAttr (
IntPtr envHandle,
int attribute,
IntPtr attrValue,
int stringLength );
[DllImport("odbc32.dll", SetLastError=true)]
static extern short SQLSetEnvAttr (
IntPtr envHandle,
int attribute,
int attrValue,
int stringLength );
Private Declare Auto Function SQLSetEnvAttr Lib "odbc32.dll" ( _
ByVal henv As IntPtr, _
ByVal attribute As Integer, _
ByVal valuePtr As IntPtr, _
ByVal strLength As Integer ) As Short
Simple attributes are passed in the pointer itself, hence the overloaded signature.
We hit a bug with getting odbc data sources under 64 bit. Oddly it only seemed to affect people with visual studio 2012 installed. Maybe the problem is with .NET framework 4.5. The c# signatures had "ushort attribute" and we changed it to "int attribute". Then things seemed to work for people with Visual Studio 2010 or 2012.
Please add some!
Do you know one? Please contribute it!