2015-03-24 53 views
0

作为自动化安装的一部分,需要创建多个数据库并自动完成一大堆事情(添加用户,分配角色和模式等);通过ExecuteNonQuery命令创建多个数据库

以下命令通过ado.net执行SqlCommand.ExecuteNonQuery会生成一个错误,说刚刚创建的数据库不存在....是否有解决方法?

Create Database foo ... Go 
Alter Database foo ... Go 

Create Database foo2 ... Go 
Alter Database foo2 ... Go 

Use Foo 
.... 

例外:FOO不存在

任何的帮助深表感谢

+0

您不能在T-SQL命令中使用GO。这被Sql Server Management Studio用作命令分隔符。如果将它放入通过ExecuteNonQuery传递的查询中,则会出错。 – Steve 2015-03-24 23:26:36

+0

你是绝对正确的,不幸的是:(我将不得不做一些我猜想的其他时髦的东西;一个接一个地执行它们,或者通过“GO”或其他东西来分割命令;谢谢反正 – DotNet98 2015-03-24 23:36:49

+1

我不知道,但这可以帮助http://stackoverflow.com/questions/40814/how-do-i-execute-a-large-sql-script-with-go-commands-from-c – Steve 2015-03-24 23:52:46

回答

0

如果任何人想知道,DEFINITELY有一个解决

  1. 您的SQL命令保存到文件
  2. 启动你PowerShell的或DOS命令
  3. 做一个 “OSQL?” (如果这不起作用,你没有sql客户端 工具)。你需要安装它
  4. 运行此命令

    OSQL -S服务器-E -i PATH_TO_SAVED_SQL_FILE

-E:(区分大小写)是可信连接;您可能必须使用-U和-P输入用户名和密码

相关问题