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
- DataGridViewAutoSizeModeEventArgs.cs
- PenThread.cs
- MasterPageParser.cs
- CalendarDesigner.cs
- PreProcessInputEventArgs.cs
- DataControlLinkButton.cs
- InputProviderSite.cs
- XmlSchemaComplexType.cs
- FocusTracker.cs
- InstanceOwnerException.cs
- AtomParser.cs
- DataMisalignedException.cs
- Point.cs
- ImportContext.cs
- WebPartTracker.cs
- Sentence.cs
- DataControlFieldHeaderCell.cs
- ObjectConverter.cs
- ManagementEventWatcher.cs
- ServicesExceptionNotHandledEventArgs.cs
- WindowsListViewItem.cs
- AssemblyResourceLoader.cs
- MemberAssignmentAnalysis.cs
- EnterpriseServicesHelper.cs
- uribuilder.cs
- GeneralTransform.cs
- IQueryable.cs
- RequestBringIntoViewEventArgs.cs
- UnknownBitmapDecoder.cs
- SQLInt64.cs
- ExtractedStateEntry.cs
- storepermissionattribute.cs
- RectangleHotSpot.cs
- BooleanKeyFrameCollection.cs
- SqlDataSourceCustomCommandPanel.cs
- ListViewGroupItemCollection.cs
- JavaScriptObjectDeserializer.cs
- PasswordBox.cs
- EncryptRequest.cs
- XmlSchemaSimpleContentRestriction.cs
- XPathMessageFilterTable.cs
- SchemaCollectionPreprocessor.cs
- XPathException.cs
- DataServiceContext.cs
- EncodingInfo.cs
- XsdDateTime.cs
- GlobalEventManager.cs
- Point4D.cs
- MappingException.cs
- ServiceEndpointElement.cs
- XslAst.cs
- BooleanProjectedSlot.cs
- DbDataAdapter.cs
- ToolStripDropTargetManager.cs
- SoapBinding.cs
- QueryGenerator.cs
- KnownColorTable.cs
- WpfKnownMemberInvoker.cs
- FixedFindEngine.cs
- objectquery_tresulttype.cs
- KeyValuePair.cs
- WindowsFormsSynchronizationContext.cs
- AdapterUtil.cs
- MarginCollapsingState.cs
- Encoder.cs
- StatusBarItemAutomationPeer.cs
- KnownBoxes.cs
- TransformedBitmap.cs
- Internal.cs
- TextRunCacheImp.cs
- StandardCommands.cs
- Brush.cs
- ProtocolsConfiguration.cs
- IndexedGlyphRun.cs
- SessionKeyExpiredException.cs
- URLString.cs
- BookmarkInfo.cs
- TimeSpan.cs
- BitmapImage.cs
- ProcessHostConfigUtils.cs
- ResourceReader.cs
- DynamicDocumentPaginator.cs
- SystemIPGlobalStatistics.cs
- ProxyHelper.cs
- XmlValidatingReaderImpl.cs
- MarginsConverter.cs
- FaultDescription.cs
- CheckedListBox.cs
- ObjectKeyFrameCollection.cs
- objectresult_tresulttype.cs
- DecimalAnimationUsingKeyFrames.cs
- GraphicsContext.cs
- BrushValueSerializer.cs
- Style.cs
- WpfXamlLoader.cs
- SettingsSection.cs
- BitmapSource.cs
- TypeDependencyAttribute.cs
- SettingsProviderCollection.cs
- Span.cs