Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Odbc / OdbcEnvironmentHandle.cs / 1305376 / OdbcEnvironmentHandle.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Diagnostics;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using System.Text;
using System.Threading;
using System.Runtime.Versioning;
namespace System.Data.Odbc {
sealed internal class OdbcEnvironmentHandle : OdbcHandle {
// SxS: this method uses SQLSetEnvAttr to setup ODBC environment handle settings. Environment handle is safe in SxS.
[ResourceExposure(ResourceScope.None)]
[ResourceConsumption(ResourceScope.Process, ResourceScope.Process)]
internal OdbcEnvironmentHandle() : base(ODBC32.SQL_HANDLE.ENV, null) {
ODBC32.RetCode retcode;
//Set the expected driver manager version
//
retcode = UnsafeNativeMethods.SQLSetEnvAttr(
this,
ODBC32.SQL_ATTR.ODBC_VERSION,
ODBC32.SQL_OV_ODBC3,
ODBC32.SQL_IS.INTEGER);
// ignore retcode
//Turn on connection pooling
//Note: the env handle controls pooling. Only those connections created under that
//handle are pooled. So we have to keep it alive and not create a new environment
//for every connection.
//
retcode = UnsafeNativeMethods.SQLSetEnvAttr(
this,
ODBC32.SQL_ATTR.CONNECTION_POOLING,
ODBC32.SQL_CP_ONE_PER_HENV,
ODBC32.SQL_IS.INTEGER);
switch(retcode) {
case ODBC32.RetCode.SUCCESS:
case ODBC32.RetCode.SUCCESS_WITH_INFO:
break;
default:
Dispose();
throw ODBC.CantEnableConnectionpooling(retcode);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Diagnostics;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using System.Text;
using System.Threading;
using System.Runtime.Versioning;
namespace System.Data.Odbc {
sealed internal class OdbcEnvironmentHandle : OdbcHandle {
// SxS: this method uses SQLSetEnvAttr to setup ODBC environment handle settings. Environment handle is safe in SxS.
[ResourceExposure(ResourceScope.None)]
[ResourceConsumption(ResourceScope.Process, ResourceScope.Process)]
internal OdbcEnvironmentHandle() : base(ODBC32.SQL_HANDLE.ENV, null) {
ODBC32.RetCode retcode;
//Set the expected driver manager version
//
retcode = UnsafeNativeMethods.SQLSetEnvAttr(
this,
ODBC32.SQL_ATTR.ODBC_VERSION,
ODBC32.SQL_OV_ODBC3,
ODBC32.SQL_IS.INTEGER);
// ignore retcode
//Turn on connection pooling
//Note: the env handle controls pooling. Only those connections created under that
//handle are pooled. So we have to keep it alive and not create a new environment
//for every connection.
//
retcode = UnsafeNativeMethods.SQLSetEnvAttr(
this,
ODBC32.SQL_ATTR.CONNECTION_POOLING,
ODBC32.SQL_CP_ONE_PER_HENV,
ODBC32.SQL_IS.INTEGER);
switch(retcode) {
case ODBC32.RetCode.SUCCESS:
case ODBC32.RetCode.SUCCESS_WITH_INFO:
break;
default:
Dispose();
throw ODBC.CantEnableConnectionpooling(retcode);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AsyncContentLoadedEventArgs.cs
- MimeBasePart.cs
- DataBoundControl.cs
- NotImplementedException.cs
- _CookieModule.cs
- Geometry.cs
- Vector.cs
- UpDownBase.cs
- BitmapDownload.cs
- Oid.cs
- WebBaseEventKeyComparer.cs
- ContextMenu.cs
- QueryResultOp.cs
- XsltOutput.cs
- ConfigXmlCDataSection.cs
- EncoderExceptionFallback.cs
- XPathPatternBuilder.cs
- EdmToObjectNamespaceMap.cs
- basecomparevalidator.cs
- XmlNode.cs
- IisTraceWebEventProvider.cs
- PreparingEnlistment.cs
- SendingRequestEventArgs.cs
- DataGridViewColumnEventArgs.cs
- SqlDataSourceEnumerator.cs
- MTConfigUtil.cs
- Directory.cs
- OptionUsage.cs
- StylusShape.cs
- ObjectDataSourceSelectingEventArgs.cs
- ResolveDuplexCD1AsyncResult.cs
- IsolatedStorage.cs
- DateTimeUtil.cs
- HeaderedItemsControl.cs
- GeneralTransform.cs
- Window.cs
- BamlRecordWriter.cs
- HttpTransportElement.cs
- PointIndependentAnimationStorage.cs
- PagesSection.cs
- TimeIntervalCollection.cs
- FontStyles.cs
- CacheMemory.cs
- COM2ColorConverter.cs
- Sql8ConformanceChecker.cs
- WinInetCache.cs
- PresentationUIStyleResources.cs
- RadioButtonPopupAdapter.cs
- PropertyCondition.cs
- codemethodreferenceexpression.cs
- GeometryHitTestResult.cs
- AssemblyCache.cs
- SqlLiftWhereClauses.cs
- SQLInt64.cs
- MultiBinding.cs
- BinHexDecoder.cs
- EmissiveMaterial.cs
- XmlSchemaExporter.cs
- CommentEmitter.cs
- Type.cs
- ToolboxItemSnapLineBehavior.cs
- AxParameterData.cs
- DataSourceXmlClassAttribute.cs
- Viewport3DVisual.cs
- CompiledQueryCacheKey.cs
- Utils.cs
- AlphabeticalEnumConverter.cs
- StylusDownEventArgs.cs
- SimpleApplicationHost.cs
- ValidationResult.cs
- PathSegmentCollection.cs
- _NestedMultipleAsyncResult.cs
- XmlSerializationReader.cs
- DoubleLinkListEnumerator.cs
- TargetConverter.cs
- DataGridViewCellEventArgs.cs
- QilUnary.cs
- TrackingProvider.cs
- ControlValuePropertyAttribute.cs
- PngBitmapEncoder.cs
- ClientUrlResolverWrapper.cs
- SqlCharStream.cs
- Directory.cs
- CompoundFileReference.cs
- CommandEventArgs.cs
- TrustLevel.cs
- InstanceDataCollection.cs
- PriorityQueue.cs
- DataGridViewLayoutData.cs
- InputProviderSite.cs
- CommandBinding.cs
- AsymmetricSignatureDeformatter.cs
- Expander.cs
- HtmlLink.cs
- RenderData.cs
- EnumBuilder.cs
- GridViewColumn.cs
- ToolStripDropDownMenu.cs
- DataGridViewRowPrePaintEventArgs.cs
- SqlXmlStorage.cs