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
- StreamWriter.cs
- PageCodeDomTreeGenerator.cs
- SimpleBitVector32.cs
- ResourceDictionaryCollection.cs
- SettingsSection.cs
- CharConverter.cs
- _CommandStream.cs
- CodeArrayIndexerExpression.cs
- NotificationContext.cs
- InputLanguageEventArgs.cs
- QueryResponse.cs
- SqlRowUpdatingEvent.cs
- Stack.cs
- XmlQueryTypeFactory.cs
- NativeRightsManagementAPIsStructures.cs
- ToolStripCustomTypeDescriptor.cs
- BufferModesCollection.cs
- FactoryGenerator.cs
- DefaultTypeArgumentAttribute.cs
- SwitchElementsCollection.cs
- Utility.cs
- FolderBrowserDialog.cs
- FixedSOMLineCollection.cs
- RenderData.cs
- WebPartDisplayModeCollection.cs
- SqlUdtInfo.cs
- SqlCacheDependencyDatabaseCollection.cs
- ServerIdentity.cs
- SoapSchemaImporter.cs
- XamlTreeBuilder.cs
- CodeObject.cs
- filewebrequest.cs
- ScrollViewer.cs
- _ConnectStream.cs
- EdgeProfileValidation.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- EntityRecordInfo.cs
- TextSelectionHelper.cs
- FontInfo.cs
- XmlCustomFormatter.cs
- DataSvcMapFileSerializer.cs
- LeftCellWrapper.cs
- StrongName.cs
- NewItemsContextMenuStrip.cs
- ItemList.cs
- SettingsPropertyIsReadOnlyException.cs
- Int64AnimationUsingKeyFrames.cs
- sqlmetadatafactory.cs
- ProviderIncompatibleException.cs
- SerializationEventsCache.cs
- Timer.cs
- MimePart.cs
- GridViewRowPresenterBase.cs
- GridItem.cs
- HtmlToClrEventProxy.cs
- Size3D.cs
- UnmanagedMemoryStream.cs
- LabelEditEvent.cs
- ProbeMatches11.cs
- Brush.cs
- StringFunctions.cs
- ListView.cs
- ButtonRenderer.cs
- FileRecordSequenceHelper.cs
- CodeObjectCreateExpression.cs
- FontStyle.cs
- WebBaseEventKeyComparer.cs
- VirtualizingPanel.cs
- Stopwatch.cs
- View.cs
- AssemblyHelper.cs
- ComponentChangedEvent.cs
- QuaternionAnimationUsingKeyFrames.cs
- KeyEventArgs.cs
- InvalidProgramException.cs
- DbConnectionPoolGroup.cs
- dsa.cs
- LicenseProviderAttribute.cs
- XmlSchemaSequence.cs
- DetailsViewInsertedEventArgs.cs
- StylusOverProperty.cs
- EventProviderWriter.cs
- _IPv4Address.cs
- PhysicalAddress.cs
- ConfigurationLocationCollection.cs
- XmlText.cs
- XmlElement.cs
- PersonalizationProvider.cs
- WebPartsPersonalizationAuthorization.cs
- DispatchProxy.cs
- ContentControl.cs
- ConfigUtil.cs
- PrintEvent.cs
- StylusPoint.cs
- altserialization.cs
- XsltLoader.cs
- HelpEvent.cs
- ServiceAuthorizationBehavior.cs
- DecodeHelper.cs
- UIntPtr.cs