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
- DateTimeOffsetAdapter.cs
- PathGeometry.cs
- ZoneIdentityPermission.cs
- InsufficientMemoryException.cs
- FullTextLine.cs
- XmlWriter.cs
- XmlCustomFormatter.cs
- SqlProfileProvider.cs
- XslTransform.cs
- SchemaMerger.cs
- DataMemberFieldConverter.cs
- DataGridViewAdvancedBorderStyle.cs
- EncodingNLS.cs
- AutoGeneratedFieldProperties.cs
- TreeViewItemAutomationPeer.cs
- ComNativeDescriptor.cs
- SEHException.cs
- HintTextMaxWidthConverter.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- DesignerHelpers.cs
- XmlnsCompatibleWithAttribute.cs
- CommentAction.cs
- SignatureResourcePool.cs
- XamlSerializationHelper.cs
- DataGridViewSelectedCellCollection.cs
- HorizontalAlignConverter.cs
- UrlSyndicationContent.cs
- RequestTimeoutManager.cs
- ChainedAsyncResult.cs
- ComplexPropertyEntry.cs
- HttpCachePolicy.cs
- ModuleConfigurationInfo.cs
- InternalTransaction.cs
- MsmqBindingMonitor.cs
- AddingNewEventArgs.cs
- CodeDOMUtility.cs
- MessageContractImporter.cs
- RbTree.cs
- JsonServiceDocumentSerializer.cs
- CodeMemberProperty.cs
- RelationshipManager.cs
- EmissiveMaterial.cs
- GregorianCalendar.cs
- SeverityFilter.cs
- MinimizableAttributeTypeConverter.cs
- LinqDataSourceDeleteEventArgs.cs
- DataContractSerializerFaultFormatter.cs
- UserMapPath.cs
- SelectionEditor.cs
- JpegBitmapEncoder.cs
- HttpGetProtocolReflector.cs
- GridViewEditEventArgs.cs
- HtmlSelect.cs
- CheckBoxStandardAdapter.cs
- CalendarKeyboardHelper.cs
- MenuStrip.cs
- XpsFont.cs
- TaskHelper.cs
- WindowsRichEdit.cs
- XmlTextAttribute.cs
- ToolStripRendererSwitcher.cs
- XmlILStorageConverter.cs
- BeginEvent.cs
- TextRangeEdit.cs
- codemethodreferenceexpression.cs
- TextDecorationUnitValidation.cs
- ClipboardData.cs
- externdll.cs
- SendActivityValidator.cs
- XmlIterators.cs
- DataServiceHostFactory.cs
- XmlLanguage.cs
- MSAAEventDispatcher.cs
- IsolatedStorageFilePermission.cs
- SourceSwitch.cs
- DesignerAdapterUtil.cs
- MultiBindingExpression.cs
- ObjectStateEntry.cs
- ResourceType.cs
- XmlIlTypeHelper.cs
- XmlSchemaDatatype.cs
- SizeLimitedCache.cs
- CommandBindingCollection.cs
- ValidatorCollection.cs
- XsltConvert.cs
- DataBoundControl.cs
- FastEncoderWindow.cs
- HtmlInputHidden.cs
- ScriptResourceInfo.cs
- Attributes.cs
- XsdBuilder.cs
- DockingAttribute.cs
- XmlToDatasetMap.cs
- COM2ExtendedUITypeEditor.cs
- BindingList.cs
- SQLMoney.cs
- StsCommunicationException.cs
- JsonCollectionDataContract.cs
- OutputCacheSettings.cs
- ObjectResult.cs