Я пытаюсь выполнить одну хранимую процедуру, используя пользователя sa через скрипт perl.
сохраните эту строку в файле perl и выполните этот файл perl
system("start /wait sqlcmd.exe -S serverName -U sa -P test@123 -d JSONdb -Q \"EXECUTE UPDATE_SP\" -o C:\\Temp\\log.txt");
================================================== ============================
-S serverName :: sql server which i want to connect.
-U sa -P test@123 :: login user credentials
-d JSONdb :: database name.
\"EXECUTE update_JSONTable\" :: command to execute stored procedure [update_JSONTable]
-o C:\Temp\log.txt" :: saving logs


Причин может быть три:
[JSONdb] недоступнаДругая причина может быть связана с экранированием специальных символов. В вашем пароле есть @, поэтому этот аргумент тоже нужно скорректировать:
-P test@123 => -P test\@123
@jit, и вы можете войти на этот сервер, используя SSMS и точно такие же учетные данные?
и да, я могу войти через SSMS, используя учетные данные, которые у меня есть. но когда я запускаю perl-скрипт, он не работает
значит проблема в пароле и видимо из-за символа "@". я обновил ответ
проверил все эти пункты все правильно в базе данных. все еще получаю ту же проблему.