Erro no script SQL ao instalar aplicativo LightSwitch

Ao instalar um aplicativo feito no LightSwitch, se você optou por criar o banco de dados manualmente a partir do script criado pelo Publish Wizard, é possível que você receba mensagens de erro como estas:

---------------------------------------
Completed execution of InstallRoles.SQL
---------------------------------------
Msg 102, Level 15, State 1, Line 11
Incorrect syntax near '$'.
Msg 102, Level 15, State 1, Line 12
Incorrect syntax near 'DatabaseUserName'.
Msg 102, Level 15, State 1, Line 13
Incorrect syntax near 'DatabaseUserName'.
Msg 102, Level 15, State 1, Line 14
Incorrect syntax near 'DatabaseUserName'.
Msg 102, Level 15, State 1, Line 15
Incorrect syntax near 'DatabaseUserName'.
Msg 102, Level 15, State 1, Line 16
Incorrect syntax near 'DatabaseUserName'.

 

Isto me causou estranheza, já que o script foi gerado pelo próprio LightSwitch na pasta C:\Projetos\MyProject\MyProject\Publish, e eu executei diretamente no Management Studio do SQL Server 2008 R2.

Pesquisando mais a fundo, descobri que o script foi criado para uso na ferramenta SQLCMD (isto está escrito no arquivo Install.htm na mesma pasta Publish), porém o SQL Management Studio, por padrão, não está em modo SQLCMD.

Assim, antes de executar o script, ative o modo SQLCMD clicando no menu Query > SQL CMD Mode.

Se por acaso você já tiver executado o script e recebido as mensagens de erro acima, apague o banco de dados $(DatabaseName) antes de prosseguir.

Esse post foi publicado em LightSwitch e marcado , . Guardar link permanente.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s