Como executar um arquivo de script de banco de dados a partir do Delph

Eu quero fazer o seguinte. 1) Crie um banco de dados. 2) Execute um script quando criar tabelas, procedimentos armazenados, etc. (este script é criado pela opção 'gerar scripts' do SMS)

Encontrei o seguinte código:http: //www.delphipages.com/forum/showthread.php? t = 181685 e modificou para:

experimenta

ADOQuery.ConnectionString := 'Provider=SQLOLEDB.1;Password=' +

edtPassword.Text + '; Persistir informações de segurança = True; ID do usuário =' + edtUser.Text + '; Catálogo inicial = mestre; Fonte de dados =' + edtServerName.Text;

ADOQuery.SQL.Clear;
ADOQuery.SQL.Text := 'create DataBase ' + edtWebDBName.Text;
ADOQuery.ExecSQL; // should check existance of database
ADOWeb.Connected := false;
ADOWeb.ConnectionString := 'Provider=SQLOLEDB.1;Password=' +

edtPassword.Text + '; Persistir informações de segurança = True; ID do usuário =' + edtUser.Text + '; Catálogo inicial =' + edtWebDBName.Text + '; Fonte de dados =' + edtServerName.Text; ADOWeb.Connected: = true;

ADOQuery.Connection := ADOWeb;
ADOQuery.SQL.Clear;
ADOQuery.SQL.LoadFromFile(edtScriptFileName.Text);
ADOQuery.ExecSQL;   except

Isso funciona até o ponto de executar o arquivo de script. Em seguida, gera uma exceção: Sintaxe incorreta perto de "GO". Se eu executar o script no SMS no banco de dados recém-criado, tudo bem. Esse problema ocorre devido à execução de mais de um comando SQL de uma só vez (o script é essencialmente uma longa lista de instruções de comando / GO? Como contornar isso?

Oh também como um bônus, alguma opinião sobre uma verificação rápida para ver se o novo banco de dados realmente existe antes de enviar um script para ele? (Ou não é necessário, pois se a criação falhar, gerará uma exceção?)

questionAnswers(3)

yourAnswerToTheQuestion