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
- SamlConditions.cs
- XmlILAnnotation.cs
- SafeRightsManagementHandle.cs
- DocumentViewerConstants.cs
- RequestQueue.cs
- GregorianCalendarHelper.cs
- EntityViewGenerator.cs
- WmfPlaceableFileHeader.cs
- VisualStyleRenderer.cs
- ArrayWithOffset.cs
- AutoResizedEvent.cs
- VirtualPathProvider.cs
- CompiledQueryCacheEntry.cs
- StylusTip.cs
- SafePEFileHandle.cs
- Int16Animation.cs
- PageHandlerFactory.cs
- OrthographicCamera.cs
- WindowsListViewItemCheckBox.cs
- EntityTypeEmitter.cs
- KeyManager.cs
- HostDesigntimeLicenseContext.cs
- ModuleConfigurationInfo.cs
- ColorConverter.cs
- UniqueIdentifierService.cs
- HtmlContainerControl.cs
- GeometryModel3D.cs
- DataPagerField.cs
- ShaderEffect.cs
- CorrelationToken.cs
- CLSCompliantAttribute.cs
- FamilyCollection.cs
- ReadOnlyMetadataCollection.cs
- assemblycache.cs
- CodeIdentifiers.cs
- TemplateBindingExtension.cs
- InProcStateClientManager.cs
- SystemIPAddressInformation.cs
- StrokeRenderer.cs
- PtsCache.cs
- TextBounds.cs
- WeakRefEnumerator.cs
- InkCanvasInnerCanvas.cs
- ElementAtQueryOperator.cs
- XmlSchemaObjectCollection.cs
- backend.cs
- ParameterBuilder.cs
- FontStretchConverter.cs
- _NTAuthentication.cs
- UnsafeNativeMethods.cs
- StringReader.cs
- BreakSafeBase.cs
- StrongNamePublicKeyBlob.cs
- StyleXamlTreeBuilder.cs
- XmlDataContract.cs
- LambdaCompiler.Generated.cs
- AddressUtility.cs
- RegexMatchCollection.cs
- CursorConverter.cs
- OraclePermissionAttribute.cs
- DocumentGrid.cs
- MessageBox.cs
- storepermissionattribute.cs
- BinaryExpression.cs
- HttpAsyncResult.cs
- GridErrorDlg.cs
- PanelDesigner.cs
- TaskFileService.cs
- TdsParserSafeHandles.cs
- TableItemPattern.cs
- Misc.cs
- SspiNegotiationTokenProvider.cs
- PrimaryKeyTypeConverter.cs
- DefaultObjectMappingItemCollection.cs
- RelativeSource.cs
- DataServiceClientException.cs
- PageThemeParser.cs
- QilInvoke.cs
- DoubleUtil.cs
- StagingAreaInputItem.cs
- XmlSchemaAnnotated.cs
- BuildManagerHost.cs
- PackWebRequestFactory.cs
- UnsafeNativeMethods.cs
- LambdaSerializationException.cs
- RowCache.cs
- DesignTimeVisibleAttribute.cs
- RegistryKey.cs
- XmlNodeComparer.cs
- Currency.cs
- DataControlFieldHeaderCell.cs
- NamespaceListProperty.cs
- InternalCache.cs
- BaseCodePageEncoding.cs
- UriTemplateHelpers.cs
- WizardPanel.cs
- sqlcontext.cs
- DataList.cs
- Debug.cs
- TextCompositionEventArgs.cs