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
- ErrorCodes.cs
- DiagnosticTrace.cs
- CopyAttributesAction.cs
- XmlDownloadManager.cs
- IImplicitResourceProvider.cs
- MasterPage.cs
- FlowDocumentScrollViewer.cs
- WizardStepBase.cs
- FormViewActionList.cs
- NativeMethods.cs
- SocketAddress.cs
- FrugalMap.cs
- MemoryStream.cs
- Compiler.cs
- XsdBuildProvider.cs
- BamlCollectionHolder.cs
- CodeTypeReferenceCollection.cs
- _TLSstream.cs
- CAGDesigner.cs
- UnicodeEncoding.cs
- IISMapPath.cs
- MatrixAnimationUsingPath.cs
- CompositeClientFormatter.cs
- DoubleLink.cs
- DataObjectFieldAttribute.cs
- OracleBFile.cs
- URLString.cs
- Attributes.cs
- ColorMap.cs
- iisPickupDirectory.cs
- ObjectToIdCache.cs
- InputBindingCollection.cs
- DrawingContext.cs
- SplitterPanel.cs
- QilExpression.cs
- ComponentConverter.cs
- Missing.cs
- ObjectListTitleAttribute.cs
- ThreadExceptionDialog.cs
- LicenseContext.cs
- Exception.cs
- ListView.cs
- JsonEnumDataContract.cs
- TypeExtensionConverter.cs
- httpserverutility.cs
- EmptyWorkItem.cs
- _BufferOffsetSize.cs
- LogicalExpr.cs
- HyperLinkStyle.cs
- DataGridViewTopLeftHeaderCell.cs
- ComponentDesigner.cs
- Style.cs
- ImageMapEventArgs.cs
- BufferedWebEventProvider.cs
- LoginCancelEventArgs.cs
- XPathSelectionIterator.cs
- TypedTableBaseExtensions.cs
- InternalControlCollection.cs
- AnnotationHelper.cs
- JsonDataContract.cs
- WebProxyScriptElement.cs
- WindowsTab.cs
- BitmapPalette.cs
- StateItem.cs
- UshortList2.cs
- DataColumnChangeEvent.cs
- EntitySetBase.cs
- SequentialUshortCollection.cs
- CqlBlock.cs
- SafeProcessHandle.cs
- TraceHandlerErrorFormatter.cs
- Serializer.cs
- ChtmlTextWriter.cs
- RoutedUICommand.cs
- MenuItem.cs
- TemplateBamlTreeBuilder.cs
- VectorAnimationBase.cs
- CompilationUnit.cs
- DocumentViewerAutomationPeer.cs
- StringReader.cs
- Literal.cs
- SmtpFailedRecipientsException.cs
- Point4D.cs
- InternalControlCollection.cs
- hwndwrapper.cs
- GlyphsSerializer.cs
- TransactionFlowBindingElement.cs
- TreeNodeCollection.cs
- LinkLabelLinkClickedEvent.cs
- TextFindEngine.cs
- DataGridItemEventArgs.cs
- DockPanel.cs
- EmptyStringExpandableObjectConverter.cs
- EtwTrackingBehaviorElement.cs
- DayRenderEvent.cs
- DocumentAutomationPeer.cs
- Compiler.cs
- TransformFinalBlockRequest.cs
- DesignerPainter.cs
- EventProxy.cs