В рамках нашей процедуры контроля версий базы данных (и автоматической установки) нам нужно запустить sqlcmd.exe в различных файлах .sql с ASP-страницы. Код, я использую, чтобы сделать это:Как запустить sqlcmd.exe с ASP-страницы?
Dim cmd : cmd = "sqlcmd -S " & DATABASE_SERVER & " -U " & DATABASE_UID & " -P " & DATABASE_PWD & " -d " & DATABASE_NAME & " -i """ & scriptPath & """ -b"
Dim wshShell : Set wshShell = Server.CreateObject("WScript.Shell")
Dim return : return = wshShell.Run(cmd, 0, True)
У меня есть код работает на моей машине развития (под управлением XP), но теперь, когда я развернуть его на наш сервер Windows 2003 это возникли проблемы. Проблема в том, что значение для возврата всегда равно 1. Это также происходит, если я попытаюсь заставить его запустить командный файл или что-нибудь еще, что я могу придумать (если я изменил значение для cmd на несуществующий файл, который он выкинул как я и ожидал)
Я попытался добавить I_USR и I_WAM, чтобы иметь разрешения на выполнение как для sqlcmd.exe, так и для cmd.exe, но он все равно возвращает 1. Если я открою командную строку на сервере и сделаю " runas/user: servername \ i_usr sqlcmd.exe ", который отлично работает, но работа с ASP-страницей все еще не работает.
Кроме того, при запуске скриптов .sql вручную все работает плавно, поэтому с ними нет проблем.
Есть ли какие-либо настройки безопасности на сервере, которые я забыл изменить в IIS или Windows, как правило, чтобы они работали?
Заранее благодарен за интернет.