Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- TableLayoutColumnStyleCollection.cs
- ListViewCommandEventArgs.cs
- XmlDocumentType.cs
- GridViewRow.cs
- MessageSmuggler.cs
- X509SecurityTokenAuthenticator.cs
- pingexception.cs
- PeerNameRecordCollection.cs
- FacetChecker.cs
- TextMetrics.cs
- Material.cs
- CompareInfo.cs
- EntityViewGenerationAttribute.cs
- designeractionlistschangedeventargs.cs
- ObjectFullSpanRewriter.cs
- XamlContextStack.cs
- TableAdapterManagerMethodGenerator.cs
- PenLineJoinValidation.cs
- TitleStyle.cs
- ListBindingConverter.cs
- BoundField.cs
- RtfControlWordInfo.cs
- _SSPIWrapper.cs
- GridViewRowEventArgs.cs
- StoreAnnotationsMap.cs
- ToolBarOverflowPanel.cs
- NodeInfo.cs
- Selection.cs
- PointAnimationUsingKeyFrames.cs
- DataTemplateKey.cs
- DataGridViewCellEventArgs.cs
- WebPartDisplayModeEventArgs.cs
- AmbientProperties.cs
- CommandID.cs
- LambdaCompiler.ControlFlow.cs
- DockingAttribute.cs
- FolderBrowserDialogDesigner.cs
- RegistryKey.cs
- XPathDocumentIterator.cs
- DataControlLinkButton.cs
- ExpressionWriter.cs
- MultilineStringConverter.cs
- GraphicsState.cs
- ExternalException.cs
- XmlComment.cs
- DataComponentNameHandler.cs
- SchemaNames.cs
- TypeSystemProvider.cs
- SignalGate.cs
- DateBoldEvent.cs
- DecimalAnimation.cs
- SwitchDesigner.xaml.cs
- _AutoWebProxyScriptHelper.cs
- HostExecutionContextManager.cs
- LogicalExpr.cs
- MaterializeFromAtom.cs
- StaticResourceExtension.cs
- CustomCredentialPolicy.cs
- StylusDevice.cs
- ConfigurationManagerInternalFactory.cs
- StringConverter.cs
- RequestNavigateEventArgs.cs
- TemplateControlBuildProvider.cs
- Hash.cs
- GridItemPattern.cs
- MimePart.cs
- SoapSchemaMember.cs
- Solver.cs
- CodeTypeMemberCollection.cs
- EdgeProfileValidation.cs
- HandleCollector.cs
- IsolatedStoragePermission.cs
- ResourceAttributes.cs
- SmiContext.cs
- Math.cs
- NotFiniteNumberException.cs
- ExecutionContext.cs
- SafeThreadHandle.cs
- SettingsSavedEventArgs.cs
- CodeRegionDirective.cs
- ObjectConverter.cs
- GridViewPageEventArgs.cs
- AlternationConverter.cs
- XmlSerializerVersionAttribute.cs
- SchemaMerger.cs
- RecognizerBase.cs
- MediaContext.cs
- SqlDelegatedTransaction.cs
- DispatcherEventArgs.cs
- TextServicesProperty.cs
- CodeGenerator.cs
- TypeConverterHelper.cs
- IndentedWriter.cs
- _ProxyChain.cs
- Scanner.cs
- XmlLanguageConverter.cs
- LockedBorderGlyph.cs
- LogSwitch.cs
- UIAgentAsyncBeginRequest.cs
- ZipIOExtraFieldElement.cs