我想要做以下事情。
1)创建一个数据库。
2)在创建表、存储过程等时运行一个脚本(此脚本是通过SMS“生成脚本”选项创建的)。
我找到了以下代码:http://www.delphipages.com/forum/showthread.php?t=181685,并将其修改为以下内容:
另外,有没有快速检查新数据库是否存在的想法呢?(或者说这不是必要的,因为如果创建失败,它会生成异常?)
我找到了以下代码:http://www.delphipages.com/forum/showthread.php?t=181685,并将其修改为以下内容:
这个方法可以一直运行到脚本文件执行的时候,然后会产生一个异常:在“GO”附近有语法错误。如果我在新创建的数据库上在SMS中运行脚本,就没有问题。这个问题是由于一次运行多个SQL命令引起的吗(该脚本实质上是一长串命令/GO语句)?如何解决?try
ADOQuery.ConnectionString := 'Provider=SQLOLEDB.1;Password=' +
edtPassword.Text + ';Persist Security Info=True;User ID=' + edtUser.Text + ';Initial Catalog=master;Data Source=' + 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 + ';Persist Security Info=True;User ID=' + edtUser.Text + ';Initial Catalog=' + edtWebDBName.Text + ';Data Source=' + edtServerName.Text; ADOWeb.Connected := true;
ADOQuery.Connection := ADOWeb; ADOQuery.SQL.Clear; ADOQuery.SQL.LoadFromFile(edtScriptFileName.Text); ADOQuery.ExecSQL; except
另外,有没有快速检查新数据库是否存在的想法呢?(或者说这不是必要的,因为如果创建失败,它会生成异常?)