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
- PanelStyle.cs
- HatchBrush.cs
- PathData.cs
- WebPartAuthorizationEventArgs.cs
- CollectionViewGroupRoot.cs
- CommandArguments.cs
- TraceContextEventArgs.cs
- WebEventTraceProvider.cs
- PropertyCollection.cs
- SymbolDocumentGenerator.cs
- StatementContext.cs
- Style.cs
- BaseCollection.cs
- EmbeddedMailObject.cs
- EventData.cs
- ScalarRestriction.cs
- DoubleLinkListEnumerator.cs
- ViewSimplifier.cs
- TemplatePagerField.cs
- Exception.cs
- ResourcePermissionBaseEntry.cs
- ConnectionProviderAttribute.cs
- LoadWorkflowCommand.cs
- LinkLabelLinkClickedEvent.cs
- RepeaterItemEventArgs.cs
- ServiceProviders.cs
- CredentialCache.cs
- BindingMAnagerBase.cs
- ObjectStateEntry.cs
- EventData.cs
- SocketElement.cs
- HttpCapabilitiesEvaluator.cs
- CompilationRelaxations.cs
- DataGridViewColumnEventArgs.cs
- OrderedEnumerableRowCollection.cs
- TextOnlyOutput.cs
- AddInEnvironment.cs
- DoubleAnimationBase.cs
- TableLayout.cs
- TogglePatternIdentifiers.cs
- ValidationRuleCollection.cs
- MD5HashHelper.cs
- CodeBlockBuilder.cs
- XmlSchemaCollection.cs
- SystemWebCachingSectionGroup.cs
- ISessionStateStore.cs
- EventSinkActivity.cs
- TextReader.cs
- DnsEndPoint.cs
- WebProxyScriptElement.cs
- BrowserCapabilitiesCompiler.cs
- FontUnitConverter.cs
- ClientData.cs
- Variable.cs
- HtmlTableCell.cs
- WebPartConnectionsEventArgs.cs
- CellParagraph.cs
- OutputCacheProviderCollection.cs
- UriTemplateQueryValue.cs
- LocalClientSecuritySettingsElement.cs
- PriorityBindingExpression.cs
- JsonUriDataContract.cs
- Transform3D.cs
- ClientBuildManager.cs
- RouteData.cs
- TextEditorContextMenu.cs
- DocumentOutline.cs
- BaseTreeIterator.cs
- DiscreteKeyFrames.cs
- CompareValidator.cs
- IOException.cs
- PtsHost.cs
- XmlSerializerFormatAttribute.cs
- SqlConnection.cs
- PerspectiveCamera.cs
- FaultContractInfo.cs
- SoundPlayer.cs
- ImageInfo.cs
- SerTrace.cs
- DataBindingValueUIHandler.cs
- TabControlToolboxItem.cs
- ColumnHeader.cs
- indexingfiltermarshaler.cs
- WrapPanel.cs
- MatrixConverter.cs
- ConstraintCollection.cs
- WaitingCursor.cs
- XmlElementCollection.cs
- CmsUtils.cs
- AttributeEmitter.cs
- StrongTypingException.cs
- SqlGatherProducedAliases.cs
- MouseButtonEventArgs.cs
- NameValueConfigurationElement.cs
- SqlSelectStatement.cs
- DynamicHyperLink.cs
- BitConverter.cs
- OrderedEnumerableRowCollection.cs
- Vector3DAnimationBase.cs
- ManagementClass.cs