Nie działa CONCAT

0

Cześć. Właśnie rozpocząłem swoją przygodę z SQL z MS SQL Server express 2017 w SSMS. Jednak natrafiłem na problem w kursie który przerabiam

i kiedy próbuje wykonać polecenie CONCAT wyskakuje mi następujący komunikat:

Msg 195, Level 15, State 10, Line 1
'CONCAT' is not a recognized built-in function name. Proszę o pomoc, o co robię źle?

0

Czyli mój SQL Server jest starszy od SQL Server 2008 R2?

1

Skoro ziomek pisze, że "CONCAT was introduced in SQL Server 2012; " to bym sprawdził na twoim miejscu czy masz SQL Server 2012 albo nowszy. Chyba możesz to zrobić, cnie?

0

Mam zainstalowany MS SQL Server 2017

4

Jesteś pewien, że nie łączysz się przypadkiem z jakąś inną wersją niż byś chciał?
Co Ci zwraca takie polecenie: select SERVERPROPERTY('ProductVersion')?
I pokaż kod, który chcesz wykonać, bo może masz to CONCAT w złym kontekście i SQL Server zwyczajnie nie rozumie kodu.

0

Polecenie

select SERVERPROPERTY('ProductVersion')

zwraca wartość: 10.0.2531.0
Całe polecenie które stosuje to

select CONCAT(id, imie)
from PoradnikYT.dbo.uczen

Przeanalizowałem dokładnie listę zainstalowanych aplikacji i mam jeszcze zainstalowane SQL Server 2008, może to być przyczyną problemu? Jak ustawić, żeby korzystał z SQL Server 2017?

4
Arek9922 napisał(a):

zwraca wartość: 10.0.2531.0

No czyli łączysz się z 2008: https://sqlserverbuilds.blogspot.com/

Jak ustawić, żeby korzystał z SQL Server 2017?

Połączyć się z nim z poziomu SQL Server Management Studio.
Pytanie, czy jest w ogóle włączony, odpal SQL Server Configuration Manager i sprawdź czy ten SQL Server 2017 jest w ogóle włączony.

3
Arek9922 napisał(a):

Polecenie

select SERVERPROPERTY('ProductVersion')

zwraca wartość: 10.0.2531.0

Zatem łączysz się do SQLServer 2008 i tym samym CONCAT nie ma prawa działać na SQL Server 2008.
SQL Server 2017 to wersja 14, a 2008 to wersja 10.
A dokładnie to 10.0.2531.0 oznacz SQL Server 2008, nawet nie R2.
Staroć, usuń go najlepiej...

A poza tym, zadaj zapytanie select @@version a nie to co tam @somekind wypisuje ;-)

Całe polecenie które stosuje to

select CONCAT(id, imie)
from PoradnikYT.dbo.uczen

Przeanalizowałem dokładnie listę zainstalowanych aplikacji i mam jeszcze zainstalowane SQL Server 2008, może to być przyczyną problemu?

Tak.

Jak ustawić, żeby korzystał z SQL Server 2017?

Niczego nie ustawiasz, po prostu upewnij się do jakiego w ogóle serwera się łączysz...
Pewnie masz zainstalowane dwa i dwa działają na jednej maszynie, a Ty zamiast do 2017 łączysz się do 2008.
No i nie dziwne, że zapytania używające składni SQL od 2012 i nowszych nie działają poprawnie...

1

Przeanalizowałem dokładnie listę zainstalowanych aplikacji i mam jeszcze zainstalowane SQL Server 2008, może to być przyczyną problemu? Jak ustawić, żeby korzystał z SQL Server 2017?

wpierw zainstalowałeś 2008 z localnym serwerem
potem prawdopodobnie 2017 ale może samo managment studio?? Pamiętaj że to dwie osobne rzeczy. Jeżeli serwer to musi mieć inną nazwę niż ta do której się obecnie łączysz. Najłatwiej zainstalować na nowo 2017 i uważnie śledzić proces instalacji tak żeby ten lokalny 2017 się pojawił. Jak 2008 Ci nie potrzebny to go wywal i na nowo 2017 zrób.

0

Usunąłem 2008 i w trakcie łączenia wybrałem inny i widać, że ten inny to 2017. Teraz sobie przypomniałem, że przy instalacji Visual Studio Express do programowania w C# instalator zainstalował jakieś składniki SQL Server więc prawdopodobnie instalował SQL 2008. Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1