Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Odbc / OdbcConnectionOpen.cs / 1305376 / OdbcConnectionOpen.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
using System;
using System.Data;
using System.Data.Common;
using System.Data.ProviderBase;
using System.Threading;
using SysTx = System.Transactions;
namespace System.Data.Odbc {
sealed internal class OdbcConnectionOpen : DbConnectionInternal {
// Construct from a compiled connection string
internal OdbcConnectionOpen(OdbcConnection outerConnection, OdbcConnectionString connectionOptions) {
#if DEBUG
try { // use this to help validate this object is only created after the following permission has been previously demanded in the current codepath
if (null != outerConnection) {
outerConnection.UserConnectionOptions.DemandPermission();
}
else {
connectionOptions.DemandPermission();
}
}
catch(System.Security.SecurityException) {
System.Diagnostics.Debug.Assert(false, "unexpected SecurityException for current codepath");
throw;
}
#endif
OdbcEnvironmentHandle environmentHandle = OdbcEnvironment.GetGlobalEnvironmentHandle();
outerConnection.ConnectionHandle = new OdbcConnectionHandle(outerConnection, connectionOptions, environmentHandle);
}
internal OdbcConnection OuterConnection {
get {
OdbcConnection outerConnection = (OdbcConnection)Owner;
if (null == outerConnection)
throw ADP.InvalidOperation("internal connection without an outer connection?"); //
return outerConnection;
}
}
override public string ServerVersion {
get {
return OuterConnection.Open_GetServerVersion();
}
}
override protected void Activate(SysTx.Transaction transaction) {
OdbcConnection.ExecutePermission.Demand();
}
override public DbTransaction BeginTransaction(IsolationLevel isolevel) {
return BeginOdbcTransaction(isolevel);
}
internal OdbcTransaction BeginOdbcTransaction(IsolationLevel isolevel) {
return OuterConnection.Open_BeginTransaction(isolevel);
}
override public void ChangeDatabase(string value) {
OuterConnection.Open_ChangeDatabase(value);
}
override protected DbReferenceCollection CreateReferenceCollection() {
return new OdbcReferenceCollection();
}
override protected void Deactivate() {
NotifyWeakReference(OdbcReferenceCollection.Closing);
}
override public void EnlistTransaction(SysTx.Transaction transaction) {
OuterConnection.Open_EnlistTransaction(transaction);
}
}
}
// 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
- X509UI.cs
- DecimalConstantAttribute.cs
- MetadataPropertyAttribute.cs
- shaperfactoryquerycachekey.cs
- MobileUserControl.cs
- ByteFacetDescriptionElement.cs
- DataMemberFieldEditor.cs
- mediaclock.cs
- WindowsRichEditRange.cs
- DnsPermission.cs
- XmlWellformedWriter.cs
- _UriTypeConverter.cs
- DictionaryBase.cs
- StateBag.cs
- DynamicDocumentPaginator.cs
- WorkflowViewManager.cs
- CodeGenHelper.cs
- LicenseException.cs
- DbExpressionVisitor.cs
- StreamAsIStream.cs
- Rect.cs
- Configuration.cs
- ModifierKeysValueSerializer.cs
- CharEntityEncoderFallback.cs
- TableItemPattern.cs
- EventHandlerService.cs
- BaseDataList.cs
- XmlSerializationGeneratedCode.cs
- FileDialog_Vista_Interop.cs
- TemplateAction.cs
- OleDbRowUpdatingEvent.cs
- Util.cs
- AjaxFrameworkAssemblyAttribute.cs
- XmlAttributes.cs
- DocumentPageViewAutomationPeer.cs
- DataGridViewHitTestInfo.cs
- DataGridViewColumnEventArgs.cs
- HostSecurityManager.cs
- ImageFormat.cs
- LoginView.cs
- x509store.cs
- AssociationType.cs
- PersonalizableTypeEntry.cs
- CompressionTracing.cs
- RunClient.cs
- WindowsSolidBrush.cs
- TextComposition.cs
- NavigationService.cs
- ListViewInsertedEventArgs.cs
- SizeIndependentAnimationStorage.cs
- Pool.cs
- ToolBarButtonClickEvent.cs
- ProviderBase.cs
- StylusPointPropertyUnit.cs
- ToolbarAUtomationPeer.cs
- DependentList.cs
- DispatcherExceptionFilterEventArgs.cs
- XamlVector3DCollectionSerializer.cs
- AnimationClockResource.cs
- ClientFormsIdentity.cs
- UIElementHelper.cs
- DateTimeFormat.cs
- CrossContextChannel.cs
- PolicyLevel.cs
- ThrowOnMultipleAssignment.cs
- HttpRuntimeSection.cs
- PointIndependentAnimationStorage.cs
- ClientTarget.cs
- ApplicationHost.cs
- UnknownBitmapEncoder.cs
- DesignerExtenders.cs
- ProviderConnectionPoint.cs
- DeleteCardRequest.cs
- ComplexPropertyEntry.cs
- counter.cs
- DBPropSet.cs
- WebReference.cs
- XmlC14NWriter.cs
- SafeFileMapViewHandle.cs
- VirtualizedContainerService.cs
- TrustManagerPromptUI.cs
- CheckBoxAutomationPeer.cs
- WebPartDisplayModeEventArgs.cs
- DataGridRow.cs
- SystemMulticastIPAddressInformation.cs
- RowToParametersTransformer.cs
- HtmlHead.cs
- ModelTreeEnumerator.cs
- PtsContext.cs
- ActionMessageFilter.cs
- ParserStack.cs
- XmlSubtreeReader.cs
- StringCollection.cs
- RuntimeConfig.cs
- _ConnectionGroup.cs
- ResizeGrip.cs
- SiteIdentityPermission.cs
- AssociationSetMetadata.cs
- x509store.cs
- Automation.cs