Можно ли программно различать версии SQL Server?

В принципе, можно ли определить, подключает ли кто-нибудь мою программу к SQL Server Compact или Express Edition? Я хочу иметь возможность ограничивать разные версии моего продукта разными версиями SQL Server.

Как вы на самом деле это сделали, потому что ни один из ответов не поддерживается в SQL Server compact edition? (SQL CE 4)

JohnC 13.04.2011 19:57

ни одно из предложенных решений не работает для SQL Server Compact Edition (как 3.x, так и 4.x) ...

Amro 04.06.2014 15:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
2
544
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Запустите этот оператор SQL

SELECT @@VERSION

и он даст вам ReultSet (один столбец в виде строки) с такой версией

Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

Вопрос касался компактной версии SQL Server, и (по крайней мере, в версии 4) это не работает: Ошибка: «Имя глобальной переменной @@ VERSION недействительно»

JohnC 13.04.2011 19:56

Он сказал компактное или экспресс-издание. Я почти уверен, что это работает в экспресс-версии. Что касается компактного колодца, я думаю, это может сработать "var version = typeof (System.Data.SqlServerCe.SqlCeConnection) .Assembly.Get‌ Name (). Version;"

Gareth 14.04.2011 15:43
Ответ принят как подходящий

После подключения к базе данных вы всегда можете запустить T-Sql:

SELECT SERVERPROPERTY ('edition')

Это должно дать вам разные версии

Другая полезная информация может быть получена из:

SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel')

SERVERPROPERTY не поддерживается в компактном выпуске 4. «Ошибка: функция не распознается SQL Server Compact. [Имя функции = SERVERPROPERTY, Тип данных (если известен) =]» Пока что ни один из других методов опубликовал. Я удивлен, что оригинальный плакат принял этот ответ. Возможно, это сработало в SQL Server Compact Edition 3.x

JohnC 13.04.2011 19:51

Также есть функция SERVERPROPERTY, которая может дать вам такие вещи, как 'edition':

SELECT SERVERPROPERTY ('edition')

Не поддержано компактным изданием, которое было вопросом оригинального плаката.

JohnC 13.04.2011 19:57

Статья базы знаний Майкрософт KB321185 описывает, как определить текущий номер версии Microsoft SQL Server и соответствующий уровень продукта или пакета обновления.

В нем также описывается, как определить конкретный выпуск, если вы используете Microsoft SQL Server 2000 или Microsoft SQL Server 7.0.

По этой ссылке нет вообще обсуждает компактное издание, что является вопросом оригинального плаката.

JohnC 13.04.2011 19:56

@JohnC, с другой стороны, последнее предложение: «Я хочу иметь возможность ограничивать разные версии моего продукта разными версиями SQL Server». и тег «sql server» вводит в заблуждение, так как термин «SQL Server» обычно называют серверным продуктом. Поскольку он принял ответ, я полагаю, что OP не имел в виду компактную версию.

splattne 13.04.2011 20:07

Другие вопросы по теме