Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlVersion.cs / 1305376 / SqlVersion.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Collections.Generic;
using System.Text;
using System.Globalization;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
namespace System.Data.SqlClient
{
///
/// This enum describes the current server version
///
internal enum SqlVersion
{
///
/// Sql Server 8
///
Sql8 = 80,
///
/// Sql Server 9
///
Sql9 = 90,
///
/// Sql Server 10
///
Sql10 = 100,
// higher versions go here
}
///
/// This class is a simple utility class that determines the sql version from the
/// connection
///
internal static class SqlVersionUtils
{
///
/// Get the SqlVersion from the connection. Returns one of Sql8, Sql9, Sql10
///
/// current sql connection
/// Sql Version for the current connection
internal static SqlVersion GetSqlVersion(SqlConnection connection)
{
if (connection.IsYukonOrNewer)
{
if (connection.IsKatmaiOrNewer)
{
return SqlVersion.Sql10;
}
else
{
return SqlVersion.Sql9;
}
}
else
{
System.Diagnostics.Debug.Assert(connection.ServerVersion.StartsWith("08.", StringComparison.Ordinal),
"not version 8");
return SqlVersion.Sql8;
}
}
internal static string GetVersionHint(SqlVersion version)
{
switch(version)
{
case SqlVersion.Sql8:
return SqlProviderManifest.TokenSql8;
case SqlVersion.Sql9:
return SqlProviderManifest.TokenSql9;
case SqlVersion.Sql10:
return SqlProviderManifest.TokenSql10;
default:
throw EntityUtil.Argument(Entity.Strings.UnableToDetermineStoreVersion);
}
}
internal static SqlVersion GetSqlVersion(string versionHint)
{
if (!string.IsNullOrEmpty(versionHint))
{
switch (versionHint)
{
case SqlProviderManifest.TokenSql8:
return SqlVersion.Sql8;
case SqlProviderManifest.TokenSql9:
return SqlVersion.Sql9;
case SqlProviderManifest.TokenSql10:
return SqlVersion.Sql10;
}
}
throw EntityUtil.Argument(Entity.Strings.UnableToDetermineStoreVersion);
}
internal static bool IsPreKatmai(SqlVersion sqlVersion)
{
return sqlVersion == SqlVersion.Sql8 || sqlVersion == SqlVersion.Sql9;
}
}
}
// 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
- WebHttpBinding.cs
- TextBoxBase.cs
- HttpCapabilitiesEvaluator.cs
- ObjectDataSourceChooseTypePanel.cs
- EnumValAlphaComparer.cs
- CodeDomConfigurationHandler.cs
- WpfKnownMember.cs
- Metadata.cs
- TemplateField.cs
- ApplicationActivator.cs
- ProcessModelInfo.cs
- XmlEncodedRawTextWriter.cs
- formatter.cs
- InteropExecutor.cs
- MenuCommand.cs
- ComponentDispatcherThread.cs
- PathSegment.cs
- PermissionSetTriple.cs
- Compiler.cs
- FormViewPagerRow.cs
- NegationPusher.cs
- MessageEventSubscriptionService.cs
- Rights.cs
- CaseKeyBox.xaml.cs
- TextEditorSpelling.cs
- DataGrid.cs
- StorageMappingItemLoader.cs
- SigningCredentials.cs
- BaseValidator.cs
- FakeModelItemImpl.cs
- RegionData.cs
- EventWaitHandle.cs
- MarkupCompilePass1.cs
- HttpHandlerActionCollection.cs
- ListViewItemSelectionChangedEvent.cs
- XslAst.cs
- ServiceDesigner.xaml.cs
- MenuItemBindingCollection.cs
- StylusShape.cs
- HtmlInputCheckBox.cs
- SafeCertificateContext.cs
- DetailsViewRow.cs
- ITextView.cs
- ManagedFilter.cs
- ResourceAttributes.cs
- StateFinalizationActivity.cs
- SimpleWorkerRequest.cs
- InvalidCastException.cs
- XmlNamedNodeMap.cs
- InputLanguageProfileNotifySink.cs
- DataMisalignedException.cs
- SchemaEntity.cs
- PenContext.cs
- WebPartZoneBase.cs
- ApplicationException.cs
- ReadOnlyDataSource.cs
- HebrewNumber.cs
- UnsafeNetInfoNativeMethods.cs
- IdentitySection.cs
- ValidateNames.cs
- LayoutSettings.cs
- DetailsViewRow.cs
- AttributeCollection.cs
- AuthenticationModuleElement.cs
- PixelFormats.cs
- HeaderedContentControl.cs
- ParallelQuery.cs
- ObjectSet.cs
- AppliedDeviceFiltersEditor.cs
- WebZone.cs
- TcpSocketManager.cs
- EndPoint.cs
- LinkButton.cs
- SessionPageStateSection.cs
- basenumberconverter.cs
- objectresult_tresulttype.cs
- RangeBase.cs
- RenderingBiasValidation.cs
- EffectiveValueEntry.cs
- PermissionToken.cs
- MailMessageEventArgs.cs
- DeviceContext.cs
- DocumentPageViewAutomationPeer.cs
- TemplateParser.cs
- ExpandSegmentCollection.cs
- ScriptMethodAttribute.cs
- HostedTransportConfigurationManager.cs
- UntypedNullExpression.cs
- CaseStatement.cs
- DataGridViewColumnHeaderCell.cs
- RuleSetReference.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DeviceContexts.cs
- ThumbAutomationPeer.cs
- HierarchicalDataSourceControl.cs
- ScriptManagerProxy.cs
- SymmetricKey.cs
- DbSource.cs
- CodeFieldReferenceExpression.cs
- StandardOleMarshalObject.cs