Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Data / System / Data / Odbc / OdbcConnectionOpen.cs / 1 / 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
- XPathSingletonIterator.cs
- DbCommandDefinition.cs
- ProfilePropertySettingsCollection.cs
- StrokeNodeEnumerator.cs
- ThreadSafeMessageFilterTable.cs
- Matrix.cs
- ArithmeticException.cs
- AccessControlList.cs
- Lasso.cs
- SchemaSetCompiler.cs
- OuterGlowBitmapEffect.cs
- _SecureChannel.cs
- SqlClientPermission.cs
- SmtpClient.cs
- StreamWithDictionary.cs
- MulticastIPAddressInformationCollection.cs
- ServiceParser.cs
- LinqDataView.cs
- ExternalException.cs
- Debug.cs
- TimeoutValidationAttribute.cs
- TripleDES.cs
- HTTPNotFoundHandler.cs
- BitmapPalette.cs
- CommandID.cs
- HierarchicalDataBoundControlAdapter.cs
- HttpHeaderCollection.cs
- XmlSchemaParticle.cs
- SerializeAbsoluteContext.cs
- TypedTableHandler.cs
- FixedPageProcessor.cs
- RNGCryptoServiceProvider.cs
- WorkflowDefinitionDispenser.cs
- TypeLibConverter.cs
- ReaderWriterLockWrapper.cs
- Soap.cs
- securestring.cs
- HasCopySemanticsAttribute.cs
- SelectionPattern.cs
- DataBoundLiteralControl.cs
- BindingMAnagerBase.cs
- TransformerInfo.cs
- DateTimePicker.cs
- Visitors.cs
- RemoteWebConfigurationHost.cs
- NumericExpr.cs
- EditorPartCollection.cs
- Calendar.cs
- EncodingConverter.cs
- DrawListViewSubItemEventArgs.cs
- BypassElement.cs
- QuotedPrintableStream.cs
- BitVector32.cs
- TabControlCancelEvent.cs
- ReverseQueryOperator.cs
- EllipticalNodeOperations.cs
- MaterializeFromAtom.cs
- LineServicesCallbacks.cs
- WebZone.cs
- SiteMapDataSourceView.cs
- AsymmetricAlgorithm.cs
- Slider.cs
- DataControlButton.cs
- EventData.cs
- SchemaSetCompiler.cs
- AttributeQuery.cs
- ScaleTransform3D.cs
- M3DUtil.cs
- PeerPresenceInfo.cs
- Enumerable.cs
- ListViewGroupConverter.cs
- GetPageCompletedEventArgs.cs
- AutomationElementCollection.cs
- ServiceMoniker.cs
- MemoryRecordBuffer.cs
- ReadOnlyCollection.cs
- SafeThreadHandle.cs
- ColorIndependentAnimationStorage.cs
- IncrementalReadDecoders.cs
- SendOperation.cs
- XmlSerializableWriter.cs
- SvcMapFileSerializer.cs
- X509Extension.cs
- XmlCharType.cs
- AVElementHelper.cs
- CompiledRegexRunner.cs
- PenContext.cs
- FormViewRow.cs
- XmlSchemaAttributeGroupRef.cs
- MessageDispatch.cs
- JsonSerializer.cs
- DataContractSerializer.cs
- PerformanceCounterManager.cs
- GenericTextProperties.cs
- TransactionFilter.cs
- validation.cs
- TextFormatterImp.cs
- ElementNotAvailableException.cs
- TypeResolver.cs
- SelectionPattern.cs