Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- MainMenu.cs
- GPRECTF.cs
- SizeLimitedCache.cs
- XhtmlTextWriter.cs
- XmlSchemaCollection.cs
- SizeConverter.cs
- SendMailErrorEventArgs.cs
- Site.cs
- UnsafeNetInfoNativeMethods.cs
- EntitySetBaseCollection.cs
- Executor.cs
- ValueTypePropertyReference.cs
- SelectionRangeConverter.cs
- IOException.cs
- IdentitySection.cs
- CultureSpecificCharacterBufferRange.cs
- XmlQueryType.cs
- OleDbSchemaGuid.cs
- XPathNavigator.cs
- DataTemplateKey.cs
- CodeCatchClause.cs
- odbcmetadatacollectionnames.cs
- LambdaReference.cs
- IconBitmapDecoder.cs
- DefaultTraceListener.cs
- XmlUrlResolver.cs
- AutomationPatternInfo.cs
- MemberPath.cs
- _Rfc2616CacheValidators.cs
- ComboBoxItem.cs
- _KerberosClient.cs
- InkCanvasAutomationPeer.cs
- AutomationPeer.cs
- SuppressedPackageProperties.cs
- ResponseBodyWriter.cs
- TreeNode.cs
- SecurityKeyIdentifier.cs
- BamlMapTable.cs
- HttpPostedFile.cs
- DataRow.cs
- BypassElementCollection.cs
- BindingNavigator.cs
- HwndStylusInputProvider.cs
- CompilerWrapper.cs
- CultureInfo.cs
- filewebrequest.cs
- MatrixTransform3D.cs
- SuppressIldasmAttribute.cs
- FillBehavior.cs
- XmlILCommand.cs
- MediaScriptCommandRoutedEventArgs.cs
- SurrogateSelector.cs
- OneWayChannelListener.cs
- PageBreakRecord.cs
- XamlVector3DCollectionSerializer.cs
- XamlClipboardData.cs
- CapabilitiesAssignment.cs
- EncryptedPackage.cs
- GroupBox.cs
- RowToFieldTransformer.cs
- TrackPointCollection.cs
- CodeNamespace.cs
- Operand.cs
- FrameworkContentElement.cs
- WebPartAuthorizationEventArgs.cs
- MultipartIdentifier.cs
- XPathDocument.cs
- Int16KeyFrameCollection.cs
- Touch.cs
- TableCell.cs
- OuterGlowBitmapEffect.cs
- XmlDownloadManager.cs
- CheckoutException.cs
- TransformGroup.cs
- RawMouseInputReport.cs
- DrawingVisualDrawingContext.cs
- _NegoStream.cs
- WindowInteractionStateTracker.cs
- SecurityTokenResolver.cs
- DropShadowBitmapEffect.cs
- ConversionContext.cs
- AxisAngleRotation3D.cs
- XmlCharCheckingWriter.cs
- SQLDouble.cs
- CodeDirectionExpression.cs
- DocumentXmlWriter.cs
- ObjectKeyFrameCollection.cs
- XamlPoint3DCollectionSerializer.cs
- ComponentEditorPage.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- MetafileHeaderWmf.cs
- DashStyle.cs
- ParenthesizePropertyNameAttribute.cs
- ChtmlTextWriter.cs
- Vector3DIndependentAnimationStorage.cs
- Accessors.cs
- UrlMappingsSection.cs
- BorderGapMaskConverter.cs
- Group.cs
- XmlEnumAttribute.cs