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
- Stack.cs
- CacheEntry.cs
- PerformanceCounterPermissionEntry.cs
- _ProxyRegBlob.cs
- DescendantOverDescendantQuery.cs
- DataSetFieldSchema.cs
- BoolExpr.cs
- SqlProfileProvider.cs
- DoubleAnimationBase.cs
- CompilerState.cs
- SharedDp.cs
- HMAC.cs
- WebPartMenu.cs
- ToolStripOverflow.cs
- CriticalHandle.cs
- ConversionValidationRule.cs
- ToolboxItemFilterAttribute.cs
- IdentityValidationException.cs
- GeneratedContractType.cs
- FilteredReadOnlyMetadataCollection.cs
- Label.cs
- UpDownEvent.cs
- FormViewRow.cs
- MgmtConfigurationRecord.cs
- HtmlAnchor.cs
- AmbiguousMatchException.cs
- IdentitySection.cs
- SafeEventLogWriteHandle.cs
- GetWinFXPath.cs
- OptimalTextSource.cs
- WebBrowserUriTypeConverter.cs
- Win32Native.cs
- TextBox.cs
- ButtonBase.cs
- NativeMethods.cs
- DescendantBaseQuery.cs
- Matrix.cs
- NavigationPropertyAccessor.cs
- ToolStripSeparator.cs
- Hashtable.cs
- CachedRequestParams.cs
- ImplicitInputBrush.cs
- TextServicesDisplayAttribute.cs
- RelationshipEndCollection.cs
- SimpleRecyclingCache.cs
- XmlNamedNodeMap.cs
- StoragePropertyMapping.cs
- MetabaseSettings.cs
- FigureHelper.cs
- SecurityManager.cs
- Calendar.cs
- CorrelationService.cs
- RequestDescription.cs
- X509CertificateTokenFactoryCredential.cs
- DetailsViewRowCollection.cs
- AsyncStreamReader.cs
- ThreadExceptionEvent.cs
- ManipulationStartedEventArgs.cs
- Object.cs
- DataProtection.cs
- ReadOnlyHierarchicalDataSource.cs
- ErrorWebPart.cs
- MediaElement.cs
- CharacterBuffer.cs
- EnumUnknown.cs
- GridViewCommandEventArgs.cs
- SettingsSavedEventArgs.cs
- WebPartConnectionsCancelEventArgs.cs
- XmlDataSourceView.cs
- ContainerCodeDomSerializer.cs
- DocumentSequence.cs
- XmlQualifiedNameTest.cs
- CoreChannel.cs
- PerformanceCounterManager.cs
- GridViewCommandEventArgs.cs
- BindingExpression.cs
- ArraySubsetEnumerator.cs
- HtmlAnchor.cs
- HeaderUtility.cs
- RightsManagementEncryptionTransform.cs
- PingOptions.cs
- ProfessionalColorTable.cs
- LogEntry.cs
- XmlWhitespace.cs
- CompensationDesigner.cs
- MarshalByRefObject.cs
- ScrollBar.cs
- storepermissionattribute.cs
- RadioButton.cs
- ViewBox.cs
- EnumMember.cs
- MultiByteCodec.cs
- Image.cs
- WarningException.cs
- PrimitiveSchema.cs
- BufferedGraphicsContext.cs
- HandledEventArgs.cs
- RepeaterCommandEventArgs.cs
- EmbeddedMailObject.cs
- TaiwanCalendar.cs