Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- CodeTryCatchFinallyStatement.cs
- AuthorizationContext.cs
- TextBox.cs
- DES.cs
- ConfigurationManagerInternalFactory.cs
- WebPartDisplayModeCancelEventArgs.cs
- SmiEventSink_DeferedProcessing.cs
- SafeRightsManagementQueryHandle.cs
- AccessibilityApplicationManager.cs
- CompilerScope.cs
- ListControl.cs
- SynchronizationFilter.cs
- Base64Encoder.cs
- CodeAttributeArgumentCollection.cs
- SafeHandles.cs
- PartManifestEntry.cs
- CodeAssignStatement.cs
- SelectionRangeConverter.cs
- WebPartConnectionsDisconnectVerb.cs
- ReadWriteSpinLock.cs
- XmlSerializationReader.cs
- PersonalizationEntry.cs
- BaseDataBoundControl.cs
- ISessionStateStore.cs
- X509CertificateClaimSet.cs
- GridViewRowPresenterBase.cs
- ACE.cs
- X509ThumbprintKeyIdentifierClause.cs
- DocumentViewerBase.cs
- TextParagraph.cs
- XmlRawWriterWrapper.cs
- XmlSchemaRedefine.cs
- GeneralTransform3DCollection.cs
- MemoryStream.cs
- Viewport3DVisual.cs
- Vector3D.cs
- _IPv4Address.cs
- SizeAnimationUsingKeyFrames.cs
- HttpModulesSection.cs
- UnescapedXmlDiagnosticData.cs
- DmlSqlGenerator.cs
- HitTestWithPointDrawingContextWalker.cs
- Tokenizer.cs
- SystemIPv6InterfaceProperties.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- CoTaskMemUnicodeSafeHandle.cs
- Canvas.cs
- InkPresenterAutomationPeer.cs
- DBDataPermissionAttribute.cs
- SiteMap.cs
- UInt16Storage.cs
- EntitySetDataBindingList.cs
- ClosureBinding.cs
- LeftCellWrapper.cs
- PartialCachingAttribute.cs
- XmlAggregates.cs
- ParagraphResult.cs
- GridItemPattern.cs
- ConfigXmlElement.cs
- CacheAxisQuery.cs
- BooleanStorage.cs
- PtsCache.cs
- smtpconnection.cs
- TdsParserStaticMethods.cs
- ComplexObject.cs
- ComboBoxItem.cs
- ParameterModifier.cs
- ListChangedEventArgs.cs
- SQLSingleStorage.cs
- WSHttpTransportSecurityElement.cs
- XmlObjectSerializer.cs
- GlobalEventManager.cs
- SoapAttributeAttribute.cs
- HuffCodec.cs
- FormViewDeletedEventArgs.cs
- SqlDataSourceEnumerator.cs
- ExecutionContext.cs
- QuaternionValueSerializer.cs
- TcpServerChannel.cs
- ScriptHandlerFactory.cs
- WebServiceClientProxyGenerator.cs
- RotationValidation.cs
- SessionStateContainer.cs
- CodeTypeReferenceCollection.cs
- AncillaryOps.cs
- MemberPath.cs
- ListBindingConverter.cs
- OleDbException.cs
- SizeAnimationBase.cs
- TTSEvent.cs
- rsa.cs
- HostingPreferredMapPath.cs
- COAUTHIDENTITY.cs
- FieldValue.cs
- InkCanvas.cs
- ImageFormat.cs
- ObjectTokenCategory.cs
- XmlDeclaration.cs
- ProfileSettingsCollection.cs
- ManagementBaseObject.cs