Code:
/ 4.0 / 4.0 / 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.
//------------------------------------------------------------------------------
//
// 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
- BuildProvidersCompiler.cs
- BamlStream.cs
- MouseCaptureWithinProperty.cs
- TextRangeEdit.cs
- HttpCookieCollection.cs
- ToolStripGripRenderEventArgs.cs
- SettingsPropertyWrongTypeException.cs
- WebPartTransformerCollection.cs
- Wildcard.cs
- XmlDocumentSchema.cs
- WindowsScrollBar.cs
- TreeView.cs
- TextInfo.cs
- FtpWebResponse.cs
- RawStylusInputReport.cs
- Facet.cs
- List.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- NullableFloatSumAggregationOperator.cs
- CodeIndexerExpression.cs
- XmlSignatureProperties.cs
- COM2ComponentEditor.cs
- ArgIterator.cs
- ImpersonationContext.cs
- PrintDialogException.cs
- Expression.cs
- UpdatePanelTriggerCollection.cs
- TemplateInstanceAttribute.cs
- XmlUtf8RawTextWriter.cs
- InputLanguage.cs
- ViewStateAttachedPropertyFeature.cs
- ConfigurationValidatorAttribute.cs
- indexingfiltermarshaler.cs
- DictationGrammar.cs
- RemotingException.cs
- StrokeNodeData.cs
- CaseInsensitiveHashCodeProvider.cs
- LinearGradientBrush.cs
- DataMemberFieldConverter.cs
- QuestionEventArgs.cs
- XmlWrappingWriter.cs
- ValidateNames.cs
- Span.cs
- IndexedString.cs
- TabControlCancelEvent.cs
- AuthorizationRule.cs
- CustomAttribute.cs
- CreateUserErrorEventArgs.cs
- CounterSample.cs
- TileBrush.cs
- XmlAnyElementAttributes.cs
- ContentFilePart.cs
- SafeEventLogWriteHandle.cs
- BitmapCache.cs
- DbDataAdapter.cs
- StandardOleMarshalObject.cs
- DataGridViewAutoSizeModeEventArgs.cs
- AssemblyLoader.cs
- MachineSettingsSection.cs
- ButtonBaseAutomationPeer.cs
- TextTreeInsertElementUndoUnit.cs
- XmlTypeAttribute.cs
- SecurityTraceRecordHelper.cs
- IsolatedStorageFileStream.cs
- NativeMethodsCLR.cs
- EntityReference.cs
- VirtualPathProvider.cs
- BinaryConverter.cs
- CompilationSection.cs
- ToolStripDropTargetManager.cs
- XmlHelper.cs
- ProtocolsConfigurationEntry.cs
- ITextView.cs
- NavigationHelper.cs
- ScrollData.cs
- Button.cs
- ListItemCollection.cs
- ServiceControllerDesigner.cs
- AmbientProperties.cs
- LinqDataSourceStatusEventArgs.cs
- HTMLTagNameToTypeMapper.cs
- ScriptingWebServicesSectionGroup.cs
- SelectionRange.cs
- BitmapScalingModeValidation.cs
- DataService.cs
- WebBrowser.cs
- GetCardDetailsRequest.cs
- DataGridComboBoxColumn.cs
- XPathNodeHelper.cs
- HeaderElement.cs
- ToolboxItemWrapper.cs
- BrowserPolicyValidator.cs
- CollectionViewGroupInternal.cs
- SharedConnectionInfo.cs
- FixedSOMFixedBlock.cs
- TableAdapterManagerGenerator.cs
- NoResizeHandleGlyph.cs
- ClientRuntimeConfig.cs
- DesignTimeVisibleAttribute.cs
- ResumeStoryboard.cs