AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 12
Accepted
jammus
jammus
Asked: 2009-04-30 23:59:31 +0800 CST2009-04-30 23:59:31 +0800 CST 2009-04-30 23:59:31 +0800 CST

Executando um .exe de um arquivo .asp usando wscipt no Windows Server 2003

  • 772

[Isso foi postado originalmente em stackoverflow.com, mas pode ser mais adequado aqui e tenho certeza de que é um problema de configuração do servidor. Desculpas se isso for considerado uma má forma.]

Como parte de nossos procedimentos de controle de revisão de banco de dados (e instalação automática), precisamos ser capazes de executar sqlcmd.exe em vários arquivos .sql de dentro de uma página ASP. O código que estou usando para fazer isso é:

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)

Eu tenho o código funcionando bem em duas máquinas de desenvolvimento separadas. Ambos estão executando o XP e não requerem etapas adicionais para fazer o código funcionar. Tendo implantado o código em um servidor Windows 2003, ele está tendo problemas. O problema é que o valor de retorno é sempre 1. Isso também acontece se eu tentar fazer com que ele execute um arquivo em lote ou qualquer outra coisa que eu possa imaginar (se eu alterar o valor de cmd para um arquivo inexistente, ele explodirá como eu esperava)

Eu tentei adicionar I_USR e I_WAM para ter permissões de execução em sqlcmd.exe e cmd.exe, mas ainda retorna 1. Se eu abrir um prompt de comando no servidor e fizer um "runas /user:servername\i_usr sqlcmd.exe " que funciona bem, mas a execução da página ASP ainda não funciona.

Além disso, ao executar os scripts .sql manualmente, tudo funciona sem problemas, portanto, não há problemas com eles.

Há alguma configuração de segurança no servidor que esqueci de alterar no IIS ou no Windows em geral para que funcione?

Eu também tentei isso em outra máquina Server 2003 e estou recebendo exatamente o mesmo problema.

Halp.

windows windows-server-2003
  • 1 1 respostas
  • 1023 Views

1 respostas

  • Voted
  1. Best Answer
    jammus
    2009-05-01T03:16:26+08:002009-05-01T03:16:26+08:00

    Acabei de descobrir qual era o problema (bem, meu provedor de hospedagem descobriu). Código alterado adicionando '%COMSPEC% /C' (onde %COMSPEC% contém o caminho para cmd.exe) à frente do comando.

    Dim cmd : cmd = "%COMSPEC% /C sqlcmd -S " & DATABASE_SERVER & " -U " & DATABASE_UID & " -P " & DATABASE_PWD & " -d " & DATABASE_NAME & " -i """ & scriptPath & """ -b"
    

    Agora funciona muito bem. Não tenho certeza sobre os porquês/comos, então deixarei a pergunta sem resposta por enquanto para que alguém responda de forma mais abrangente, se puder.

    • 1

relate perguntas

  • Melhor backup de ambiente misto (OS X + Windows)? [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Resolver o nome do host do endereço IP

    • 8 respostas
  • Marko Smith

    Como posso classificar a saída du -h por tamanho

    • 30 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    Qual é o utilitário de linha de comando no Windows para fazer uma pesquisa reversa de DNS?

    • 14 respostas
  • Marko Smith

    Como verificar se uma porta está bloqueada em uma máquina Windows?

    • 4 respostas
  • Marko Smith

    Qual porta devo abrir para permitir a área de trabalho remota?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    MikeN No Nginx, como posso reescrever todas as solicitações http para https mantendo o subdomínio? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 Qual é a diferença entre colchetes duplos e simples no bash? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch Como altero a senha da minha chave privada? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt Como funciona a sub-rede IPv4? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve