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
- RecognizedWordUnit.cs
- InvalidProgramException.cs
- MimePart.cs
- TextRangeProviderWrapper.cs
- FixedSOMContainer.cs
- PasswordTextNavigator.cs
- AppDomainFactory.cs
- ImageFormatConverter.cs
- DataGridViewColumnCollection.cs
- OperatingSystem.cs
- SortKey.cs
- SerializationAttributes.cs
- CardSpaceShim.cs
- Lookup.cs
- SimpleApplicationHost.cs
- BlurBitmapEffect.cs
- DataGridViewRow.cs
- RegexBoyerMoore.cs
- DES.cs
- FilteredSchemaElementLookUpTable.cs
- _SpnDictionary.cs
- MultipleViewPattern.cs
- RegexCaptureCollection.cs
- IIS7WorkerRequest.cs
- GlobalProxySelection.cs
- Typography.cs
- XmlSchemaGroup.cs
- DrawingContextDrawingContextWalker.cs
- ControlSerializer.cs
- AsymmetricKeyExchangeFormatter.cs
- GACMembershipCondition.cs
- BStrWrapper.cs
- _DisconnectOverlappedAsyncResult.cs
- CustomGrammar.cs
- XmlValidatingReaderImpl.cs
- AuthorizationRuleCollection.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- TypedElement.cs
- NullableDecimalSumAggregationOperator.cs
- DockPattern.cs
- SafeRightsManagementPubHandle.cs
- CreateUserWizard.cs
- EnumMember.cs
- ReturnType.cs
- HttpContextServiceHost.cs
- BamlRecords.cs
- UserControlParser.cs
- StylusPoint.cs
- CoreSwitches.cs
- Matrix.cs
- SmtpMail.cs
- BmpBitmapEncoder.cs
- DataTemplateKey.cs
- NonValidatingSecurityTokenAuthenticator.cs
- NavigationEventArgs.cs
- KeyFrames.cs
- DescendentsWalker.cs
- Timer.cs
- Subtree.cs
- UnsafeNativeMethods.cs
- PageStatePersister.cs
- TypeHelper.cs
- JsonReader.cs
- ObjectTag.cs
- PointKeyFrameCollection.cs
- ValidationSummary.cs
- CodeTypeDeclaration.cs
- WmlValidationSummaryAdapter.cs
- DeviceContext.cs
- DesignerCommandAdapter.cs
- tooltip.cs
- ProcessStartInfo.cs
- RegistrationProxy.cs
- XmlDeclaration.cs
- QilGeneratorEnv.cs
- TabControl.cs
- DSACryptoServiceProvider.cs
- WorkflowOperationAsyncResult.cs
- FontStretchConverter.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- TextServicesProperty.cs
- SafeWaitHandle.cs
- HebrewNumber.cs
- Matrix.cs
- WhitespaceRule.cs
- ResourceType.cs
- SchemaCompiler.cs
- ConstraintConverter.cs
- DesignerSerializationVisibilityAttribute.cs
- HttpWebRequest.cs
- SchemaRegistration.cs
- SystemUnicastIPAddressInformation.cs
- SequentialActivityDesigner.cs
- PathFigureCollectionConverter.cs
- DataGridViewRow.cs
- XsdBuildProvider.cs
- ImagingCache.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ItemsPanelTemplate.cs
- PeerNameRecordCollection.cs