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
- MetafileHeader.cs
- UnsafeNativeMethods.cs
- TextRunProperties.cs
- ConfigXmlElement.cs
- ECDiffieHellmanCng.cs
- StartUpEventArgs.cs
- LinqDataSourceDeleteEventArgs.cs
- TextSelectionHelper.cs
- TeredoHelper.cs
- CookieProtection.cs
- WebPartMenu.cs
- WebPartConnectionsCancelEventArgs.cs
- WebBrowserProgressChangedEventHandler.cs
- BitConverter.cs
- BitmapMetadataBlob.cs
- ServiceDefaults.cs
- PrimaryKeyTypeConverter.cs
- UnsafeNativeMethods.cs
- TimeStampChecker.cs
- ITextView.cs
- SizeChangedInfo.cs
- BaseTreeIterator.cs
- WindowInteropHelper.cs
- LogStore.cs
- UseAttributeSetsAction.cs
- FontSourceCollection.cs
- NetworkInterface.cs
- Command.cs
- AbstractSvcMapFileLoader.cs
- Converter.cs
- PartialClassGenerationTaskInternal.cs
- TextPatternIdentifiers.cs
- TemplatedMailWebEventProvider.cs
- EndpointDiscoveryMetadataCD1.cs
- Rect3DConverter.cs
- ToolStripContentPanel.cs
- CacheEntry.cs
- GradientBrush.cs
- ChangeProcessor.cs
- GridViewCommandEventArgs.cs
- ControlUtil.cs
- PropertyTabAttribute.cs
- UserUseLicenseDictionaryLoader.cs
- UidManager.cs
- AutomationElementIdentifiers.cs
- ScriptComponentDescriptor.cs
- ObjectDataSourceFilteringEventArgs.cs
- ColumnHeader.cs
- PreProcessInputEventArgs.cs
- StylusPointPropertyInfoDefaults.cs
- EmissiveMaterial.cs
- KeyTimeConverter.cs
- PriorityBinding.cs
- ThicknessKeyFrameCollection.cs
- Logging.cs
- ListDataHelper.cs
- UnsafeCollabNativeMethods.cs
- QilSortKey.cs
- MetadataPropertyAttribute.cs
- UiaCoreProviderApi.cs
- cryptoapiTransform.cs
- ClientUtils.cs
- ProcessInputEventArgs.cs
- IssuedTokenClientElement.cs
- EncoderReplacementFallback.cs
- XmlArrayItemAttribute.cs
- LayoutEngine.cs
- _OverlappedAsyncResult.cs
- SqlBulkCopyColumnMappingCollection.cs
- OpenTypeLayoutCache.cs
- ClientConfigurationHost.cs
- GuidelineCollection.cs
- NodeFunctions.cs
- EventLogEntry.cs
- XmlSchemaInfo.cs
- MenuItemStyle.cs
- SchemaNotation.cs
- Double.cs
- Hex.cs
- PrimitiveSchema.cs
- CodeTypeDelegate.cs
- AnnotationComponentChooser.cs
- TypeUtils.cs
- Wow64ConfigurationLoader.cs
- AccessibleObject.cs
- DataControlField.cs
- TextSpanModifier.cs
- DataGridColumn.cs
- EntityDataSourceMemberPath.cs
- ShaderRenderModeValidation.cs
- ManifestBasedResourceGroveler.cs
- ExceptionRoutedEventArgs.cs
- OrderPreservingPipeliningMergeHelper.cs
- ToolStripSeparator.cs
- ArrayListCollectionBase.cs
- WinCategoryAttribute.cs
- TimelineGroup.cs
- SrgsRulesCollection.cs
- CompilerParameters.cs
- cache.cs