Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- MetadataItemEmitter.cs
- MediaEntryAttribute.cs
- TagMapInfo.cs
- SizeValueSerializer.cs
- StringReader.cs
- DataGridRowHeaderAutomationPeer.cs
- NetworkInterface.cs
- InternalControlCollection.cs
- Internal.cs
- SymmetricKeyWrap.cs
- DependencyProperty.cs
- AppDomain.cs
- PointConverter.cs
- LifetimeServices.cs
- UserControlParser.cs
- HealthMonitoringSection.cs
- ClientSettingsProvider.cs
- DataGridViewRowCancelEventArgs.cs
- ReadOnlyDictionary.cs
- MatrixCamera.cs
- WebPartChrome.cs
- KeyInstance.cs
- LinearKeyFrames.cs
- InstanceHandleReference.cs
- OuterGlowBitmapEffect.cs
- InstanceDataCollection.cs
- TypeSource.cs
- MouseButtonEventArgs.cs
- HtmlButton.cs
- InternalDuplexBindingElement.cs
- BuilderPropertyEntry.cs
- IOException.cs
- ValidationResult.cs
- GridSplitter.cs
- EndpointBehaviorElementCollection.cs
- XmlILIndex.cs
- XmlTextReader.cs
- CheckableControlBaseAdapter.cs
- RegexCode.cs
- BrowserCapabilitiesFactory.cs
- ChannelManager.cs
- SQLCharsStorage.cs
- SurrogateChar.cs
- TextServicesManager.cs
- ToolStripItemRenderEventArgs.cs
- ConfigurationLockCollection.cs
- PathSegmentCollection.cs
- BulletChrome.cs
- PointKeyFrameCollection.cs
- NameNode.cs
- DiscriminatorMap.cs
- SEHException.cs
- SqlRowUpdatedEvent.cs
- FormViewUpdateEventArgs.cs
- DataObjectMethodAttribute.cs
- FlowDocumentReader.cs
- XPathDescendantIterator.cs
- ObjectListCommandEventArgs.cs
- IdentifierService.cs
- DependsOnAttribute.cs
- EventRouteFactory.cs
- RadioButtonAutomationPeer.cs
- X509Utils.cs
- KeyboardNavigation.cs
- ProxyHwnd.cs
- SqlDataSourceSelectingEventArgs.cs
- CodeGotoStatement.cs
- TypeConstant.cs
- SinglePageViewer.cs
- XmlAttributeCache.cs
- WebPartUserCapability.cs
- DetailsViewAutoFormat.cs
- MessageQueueConverter.cs
- TextEncodedRawTextWriter.cs
- RemoteX509AsymmetricSecurityKey.cs
- Line.cs
- DesignerCalendarAdapter.cs
- Zone.cs
- WindowsFormsSectionHandler.cs
- ManagedCodeMarkers.cs
- RuntimeResourceSet.cs
- DbConnectionInternal.cs
- Pen.cs
- Clipboard.cs
- ButtonChrome.cs
- RightsManagementErrorHandler.cs
- CustomMenuItemCollection.cs
- BamlTreeMap.cs
- QueryAccessibilityHelpEvent.cs
- DataSourceProvider.cs
- ClientRuntimeConfig.cs
- WaitHandleCannotBeOpenedException.cs
- SqlDataSourceView.cs
- BufferedReadStream.cs
- ModelUIElement3D.cs
- BooleanAnimationBase.cs
- WindowsListBox.cs
- CommonObjectSecurity.cs
- SiteMapSection.cs
- UnsafeMethods.cs