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
- ClientSettingsSection.cs
- UrlPath.cs
- RemotingServices.cs
- XmlNodeReader.cs
- Walker.cs
- DesignerActionPropertyItem.cs
- Helpers.cs
- DataSourceHelper.cs
- GAC.cs
- ConfigurationException.cs
- ElementAction.cs
- SiteMembershipCondition.cs
- RequestResponse.cs
- __Filters.cs
- RegisteredDisposeScript.cs
- UriParserTemplates.cs
- ComponentCache.cs
- SizeConverter.cs
- ObjectCache.cs
- DataBoundControlAdapter.cs
- NotifyIcon.cs
- SecondaryIndexDefinition.cs
- ClientSettingsSection.cs
- FormsIdentity.cs
- EmptyEnumerator.cs
- WsdlParser.cs
- PathFigure.cs
- AxHost.cs
- CollectionViewGroupInternal.cs
- CacheHelper.cs
- httpstaticobjectscollection.cs
- TextFormatterHost.cs
- handlecollector.cs
- CompiledXpathExpr.cs
- Graph.cs
- ParameterCollection.cs
- FontUnitConverter.cs
- SynchronizedMessageSource.cs
- HandlerBase.cs
- IDictionary.cs
- xmlglyphRunInfo.cs
- InvalidFilterCriteriaException.cs
- UpdatePanelTrigger.cs
- ParentQuery.cs
- CreatingCookieEventArgs.cs
- TextureBrush.cs
- SignatureHelper.cs
- GuidTagList.cs
- BitmapEffectInputConnector.cs
- RemoteWebConfigurationHost.cs
- LiteralControl.cs
- PageHandlerFactory.cs
- ReadOnlyDataSource.cs
- CodeParameterDeclarationExpression.cs
- CqlGenerator.cs
- SRDisplayNameAttribute.cs
- MapPathBasedVirtualPathProvider.cs
- XPathEmptyIterator.cs
- NameValueConfigurationCollection.cs
- InheritanceContextHelper.cs
- InteropExecutor.cs
- TextTreeTextElementNode.cs
- ChildTable.cs
- PropertyEntry.cs
- XmlValueConverter.cs
- AuthenticatedStream.cs
- XmlSerializerAssemblyAttribute.cs
- TypedTableBase.cs
- DiscoveryDocumentSearchPattern.cs
- XAMLParseException.cs
- BadImageFormatException.cs
- Win32.cs
- Message.cs
- IfAction.cs
- XmlSchemaImporter.cs
- TemplateParser.cs
- CodeBlockBuilder.cs
- GacUtil.cs
- ArcSegment.cs
- SpecularMaterial.cs
- InputScopeAttribute.cs
- EDesignUtil.cs
- MD5.cs
- PaginationProgressEventArgs.cs
- UnmanagedHandle.cs
- SqlUserDefinedAggregateAttribute.cs
- UserNameSecurityTokenParameters.cs
- ArithmeticLiteral.cs
- ToolStripContentPanel.cs
- PtsContext.cs
- UpdatePanelControlTrigger.cs
- XmlSchemaAttribute.cs
- Soap.cs
- MenuScrollingVisibilityConverter.cs
- EditCommandColumn.cs
- ForeignConstraint.cs
- TimeSpanFormat.cs
- OwnerDrawPropertyBag.cs
- SqlInternalConnectionSmi.cs
- updatecommandorderer.cs