有没有一个好的教程来使用 msbuild 创建数据库?
Jean Paul Boodhoo在他的博客中使用nant来完成这个任务。他设置了一些属性以便在nant构建文件中使用。
然后可以使用命令行创建数据库,像这样...
Jean Paul Boodhoo在他的博客中使用nant来完成这个任务。他设置了一些属性以便在nant构建文件中使用。
<properties>
<property name="sqlToolsFolder" value="C:\Program Files\Microsoft SQL Server\90\Tools\Binn"/>
<property name="osql.ConnectionString" value="-E"/>
<property name="initial.catalog" value="Northwind"/>
<property name="config.ConnectionString" value="data source=(local);Integrated Security=SSPI;Initial Catalog=${initial.catalog}"/>
<property name="database.path" value="C:\root\development\databases" />
<property name="osql.exe" value="${sqlToolsFolder}\osql.exe" />
</properties>
然后可以使用命令行创建数据库,像这样...
c:\> build builddb
我安装了MSBuild扩展包,但是找不到在哪里输入连接字符串以连接到数据库。
谢谢。
已解决。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="constants.proj"/>
<Target Name="QueryDb">
<PropertyGroup>
<_Command>-Q "SELECT * FROM Users"</_Command>
<_Command2>-i test.sql</_Command2>
</PropertyGroup>
<Exec Command="$(sqlcmd) $(_Command)" /><!---->
</Target>
</Project>
并且Constants.proj看起来像这样
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<sqlToolsFolder>C:\Program Files\Microsoft SQL Server\90\Tools\Binn</sqlToolsFolder>
<initialCatalog>NorthwindTest</initialCatalog>
<serverInstance>(local)\SQLEXPRESS</serverInstance>
<configConnectionString>data source=$(serverInstance);Integrated Security=SSPI;Initial Catalog=$(initialCatalog)</configConnectionString>
<osqlExe>"$(sqlToolsFolder)\osql.exe"</osqlExe>
<sqlcmd>$(osqlExe) -U someuser -P somepassword -d $(initialCatalog) -S (local)\SQLEXPRESS</sqlcmd>
<!--<sqlcmd>$(osqlExe) -E -d $(initialCatalog) -S (local)\SQLEXPRESS</sqlcmd>-->
</PropertyGroup>
</Project>
然后在VS命令提示符下运行以下命令:
msbuild db.targets /t:QueryDb
运行的命令如下: "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\osql.exe" -U someuser -P somepassword -d NorthwindTest -S (local)\SQLEXPRESS -Q "SELECT * FROM UserProfile"
谢谢 Sayed