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
- CopyEncoder.cs
- FlowNode.cs
- OdbcRowUpdatingEvent.cs
- XmlProcessingInstruction.cs
- CalloutQueueItem.cs
- WebControlAdapter.cs
- ZoneLinkButton.cs
- TextBoxView.cs
- DataGridViewRowConverter.cs
- thaishape.cs
- PointF.cs
- ScriptReference.cs
- DataSourceProvider.cs
- CollectionChangedEventManager.cs
- XmlUTF8TextWriter.cs
- AsyncMethodInvoker.cs
- WebPartDisplayModeCancelEventArgs.cs
- EntityContainerEntitySet.cs
- XmlSchemaObjectTable.cs
- KeyBinding.cs
- OrderByQueryOptionExpression.cs
- DataGrid.cs
- InfoCardRSACryptoProvider.cs
- RedistVersionInfo.cs
- Completion.cs
- TrackingLocation.cs
- UriScheme.cs
- XmlValidatingReaderImpl.cs
- SqlDataSource.cs
- userdatakeys.cs
- login.cs
- LineServices.cs
- WebPart.cs
- CustomBinding.cs
- EdmFunction.cs
- AccessDataSourceWizardForm.cs
- NegotiateStream.cs
- OdbcCommand.cs
- TraceListeners.cs
- wgx_commands.cs
- AppDomain.cs
- configsystem.cs
- ControlPropertyNameConverter.cs
- ObfuscationAttribute.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- SmtpDigestAuthenticationModule.cs
- XPathNode.cs
- NameValueFileSectionHandler.cs
- WorkflowCreationContext.cs
- ValueCollectionParameterReader.cs
- QueryCursorEventArgs.cs
- CodeMemberField.cs
- ConfigurationErrorsException.cs
- CompressedStack.cs
- XmlRawWriterWrapper.cs
- InvokeProviderWrapper.cs
- RecordManager.cs
- WebPartMovingEventArgs.cs
- DetailsViewPagerRow.cs
- EnumDataContract.cs
- CorrelationValidator.cs
- OleDbDataAdapter.cs
- ServiceModelSecurityTokenRequirement.cs
- TextEditorMouse.cs
- MatrixAnimationBase.cs
- CustomPopupPlacement.cs
- TraceContextRecord.cs
- ViewStateException.cs
- MsmqInputSessionChannelListener.cs
- ClusterSafeNativeMethods.cs
- TableLayout.cs
- GridViewDeleteEventArgs.cs
- AuthenticationService.cs
- NgenServicingAttributes.cs
- ButtonStandardAdapter.cs
- Activator.cs
- XamlValidatingReader.cs
- Vector.cs
- AddInEnvironment.cs
- HttpModuleActionCollection.cs
- SecurityHelper.cs
- XmlCompatibilityReader.cs
- FlowDocumentScrollViewer.cs
- DataGridItemCollection.cs
- StringExpressionSet.cs
- Clipboard.cs
- InstallerTypeAttribute.cs
- AutomationPropertyInfo.cs
- NavigationExpr.cs
- GenericParameterDataContract.cs
- SqlNodeAnnotation.cs
- BindingManagerDataErrorEventArgs.cs
- UnsafeCollabNativeMethods.cs
- ToolStripOverflowButton.cs
- DomainUpDown.cs
- UntrustedRecipientException.cs
- LogicalExpressionEditor.cs
- DSACryptoServiceProvider.cs
- RedistVersionInfo.cs
- UInt64Storage.cs