SQLSetEnvAttr (odbc32)
Last changed: -72.38.243.254

.
Summary
SQLSetEnvAttr sets attributes that govern aspects of environments.

C# Signature:

[DllImport("odbc32.dll", SetLastError=true)]
static extern short SQLSetEnvAttr (
    IntPtr envHandle,
    int attribute,
    IntPtr attrValue,
    int stringLength );

Alternate C# Signature:

[DllImport("odbc32.dll", SetLastError=true)]

static extern short SQLSetEnvAttr (
    IntPtr envHandle,
    int attribute,
    int    attrValue,
    int stringLength );

VB Signature:

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

Notes:

Simple attributes are passed in the pointer itself, hence the overloaded signature.

Tips & Tricks:

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.

Sample Code:

Please add some!

Alternative Managed API:

Do you know one? Please contribute it!

Documentation