Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Odbc / OdbcConnectionOpen.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CorrelationRequestContext.cs
- DependencySource.cs
- BitmapMetadataBlob.cs
- DiscoveryDefaults.cs
- ListViewAutomationPeer.cs
- ComplexType.cs
- Win32.cs
- UnaryNode.cs
- ExeContext.cs
- ExtenderProvidedPropertyAttribute.cs
- EdmScalarPropertyAttribute.cs
- DataSetMappper.cs
- ReadOnlyDictionary.cs
- ConfigurationException.cs
- XmlSigningNodeWriter.cs
- TypeLoader.cs
- KeyedCollection.cs
- CodeMemberProperty.cs
- ConfigurationPermission.cs
- Int16Animation.cs
- StructuredTypeInfo.cs
- AppSettingsReader.cs
- XhtmlBasicValidatorAdapter.cs
- Wizard.cs
- Speller.cs
- ToolStripPanelCell.cs
- MetadataHelper.cs
- EntitySqlException.cs
- WindowsGraphicsCacheManager.cs
- ThreadPool.cs
- AttributeCollection.cs
- NativeMethods.cs
- ImageAutomationPeer.cs
- QualifierSet.cs
- WindowsTooltip.cs
- DocumentViewerBase.cs
- StorageScalarPropertyMapping.cs
- CharacterHit.cs
- XmlAtomicValue.cs
- WorkItem.cs
- ImpersonateTokenRef.cs
- SecurityElement.cs
- ObjectIDGenerator.cs
- RemotingAttributes.cs
- ProcessHostConfigUtils.cs
- CryptoApi.cs
- ExtensionDataReader.cs
- Lease.cs
- LoggedException.cs
- GridItemCollection.cs
- CellTreeNode.cs
- SrgsSubset.cs
- FormViewModeEventArgs.cs
- MailWebEventProvider.cs
- RotateTransform3D.cs
- SchemaTableColumn.cs
- IOException.cs
- FileVersionInfo.cs
- TcpTransportSecurityElement.cs
- MethodBuilderInstantiation.cs
- ImageAttributes.cs
- CursorConverter.cs
- SiteMapNodeItemEventArgs.cs
- TypedElement.cs
- RangeValidator.cs
- DeviceContext2.cs
- DataServiceStreamResponse.cs
- ToolStripLocationCancelEventArgs.cs
- SeparatorAutomationPeer.cs
- PTUtility.cs
- JsonWriter.cs
- EntitySqlQueryBuilder.cs
- CatalogPartCollection.cs
- Version.cs
- WebPartsSection.cs
- WorkflowShape.cs
- ErrorFormatter.cs
- DataGridViewColumnConverter.cs
- DataGridViewCellMouseEventArgs.cs
- SizeFConverter.cs
- OperatorExpressions.cs
- ContextProperty.cs
- WebPartHeaderCloseVerb.cs
- CmsInterop.cs
- TraceSource.cs
- ValidationErrorCollection.cs
- EntityDataSourceContextCreatingEventArgs.cs
- RawStylusInputReport.cs
- XmlTextReaderImpl.cs
- XmlDocument.cs
- FlowNode.cs
- IntersectQueryOperator.cs
- CalloutQueueItem.cs
- ThicknessConverter.cs
- EmptyWorkItem.cs
- RadioButtonRenderer.cs
- IteratorFilter.cs
- HttpAsyncResult.cs
- UnsafeNativeMethods.cs
- ProviderConnectionPointCollection.cs