Stored procedures powershell 1.0中的osql?
我在Windows 2008服务器上设置了ODBC连接,我正在尝试用Powershell文件替换一些进行某些处理的.BAT文件 有没有办法在PowerShell中执行与此相同的操作Stored procedures powershell 1.0中的osql?,stored-procedures,powershell,Stored Procedures,Powershell,我在Windows 2008服务器上设置了ODBC连接,我正在尝试用Powershell文件替换一些进行某些处理的.BAT文件 有没有办法在PowerShell中执行与此相同的操作 调用osql/instanceName/Uuser/Ppassword/Q“EXECUTE storedProcName@Parm1=%ePROFILE%,@param2=N'%eValList%'SQL Server 2008提供了一个名为invoke sqlcmdlet的osql Powershell cmdle
调用osql/instanceName/Uuser/Ppassword/Q“EXECUTE storedProcName@Parm1=%ePROFILE%,@param2=N'%eValList%'SQL Server 2008提供了一个名为invoke sqlcmdlet的osql Powershell cmdlet,它执行与Powershell中的osql相同类型的操作。也就是说,如果您想继续使用osql,您应该能够执行类似操作,并继续使用Windows用户varailbes:
osql/instanceName/Uuser/Ppassword/Q“EXECUTE storedProcName@Parm1=$env:ePROFILE,@param2=N'$env:eValList'SQL Server 2008提供了一个名为invoke-sqlcmdlet的osql Powershell cmdlet,它执行与Powershell中的osql相同类型的操作。也就是说,如果您想继续使用osql,您应该能够执行类似操作,并继续使用Windows用户varailbes:
osql/instanceName/Uuser/Ppassword/Q“EXECUTE storedProcName@Parm1=$env:ePROFILE,@param2=N'$env:eValList'如果您希望在查询数据库后使用实际的Powershell对象,可以使用我最近编写的函数:
function Query-DatabaseTable ( [string] $server , [string] $dbs, [string] $sql )
{
$Columns = @()
$con = "server=$server;Integrated Security=true;Initial Catalog=$dbs"
$ds = new-object "System.Data.DataSet" "DataSet"
$da = new-object "System.Data.SqlClient.SqlDataAdapter" ($con)
$da.SelectCommand.CommandText = $sql
$da.SelectCommand.Connection = $con
$da.Fill($ds) | out-null
$ds.Tables[0].Columns | Select ColumnName | % { $Columns += $_.ColumnName }
$res = $ds.Tables[0].Rows | Select $Columns
$da.Dispose()
$ds.Dispose()
return $res
}
如果您希望在查询数据库后使用实际的Powershell对象,可以使用我最近编写的函数:
function Query-DatabaseTable ( [string] $server , [string] $dbs, [string] $sql )
{
$Columns = @()
$con = "server=$server;Integrated Security=true;Initial Catalog=$dbs"
$ds = new-object "System.Data.DataSet" "DataSet"
$da = new-object "System.Data.SqlClient.SqlDataAdapter" ($con)
$da.SelectCommand.CommandText = $sql
$da.SelectCommand.Connection = $con
$da.Fill($ds) | out-null
$ds.Tables[0].Columns | Select ColumnName | % { $Columns += $_.ColumnName }
$res = $ds.Tables[0].Rows | Select $Columns
$da.Dispose()
$ds.Dispose()
return $res
}
谢谢。现在我只有一个权限错误。是时候给DBA打电话了。:)谢谢。现在我只有一个权限错误。是时候给DBA打电话了。:)谢谢。我想我会修改它,为我当前的应用程序返回一个标量值。这比我要替换的文件要好得多。谢谢。我想我会修改它,返回一个标量值我当前应用程序的值。这比我要替换的文件要好得多。