安装PowerShell脚本不执行

时间:2014-01-15 15:48:11

标签: powershell nuget nuget-package

我有一个模块化的应用程序,其中每个模块都是一个NuGet包,可以通过管理面板或visual studio安装。我目前正处于试验阶段并创建了一个临时包。在包中,我有一个包含2个文件的工具目录:

Install.ps1(注意我已删除配置详细信息):

param($installPath, $toolsPath, $package, $project) 

SQLCMD.EXE -S ??? -d ??? -U sa -P ??? -i Install.sql -b

和Install.sql:

INSERT INTO [dbo].[Logs] ([TypeId], [Name], [Details], [CreatedById], [DateCreated]) VALUES (1, 'Setup', 'Install', NULL, GETUTCDATE())

然后我将我的包上传到我的Feed并尝试从包管理器控制台安装它。但是,数据尚未添加到我的Logs表中,并且没有抛出任何错误。库和依赖项似乎也已成功添加。此外,如果我手动运行Install.ps1,它会正确地将Log插入数据库。

你知道我做错了什么吗?

我还尝试了以下Install.ps1脚本但没有成功:

param($installPath, $toolsPath, $package, $project) 

$connString = "Data Source=..."

$sqlConnection = new-object System.Data.SqlClient.SqlConnection($connString)
$sqlCommand = $sqlConnection.CreateCommand()
$sqlCommand.CommandText = "INSERT INTO [dbo].[Logs] ([TypeId], [Name], [Details], [CreatedById], [DateCreated]) VALUES (1, 'Setup', 'Install', NULL, GETUTCDATE())"
$sqlConnection.Open()
$sqlCommand.ExecuteNonQuery()
$sqlConnection.Close()

1 个答案:

答案 0 :(得分:-1)

为什么不使用SqlConnection连接数据库并执行INSERT查询?

http://powershellreflections.wordpress.com/2011/02/14/using-powershsell-to-access-sql-data/

$SqlConnection = new-object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = $connString
$SqlCommand = $SqlConnection.CreateCommand()
$SqlCommand.CommandText = $QueryText