首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >powershell 1.0中的osql?

powershell 1.0中的osql?
EN

Stack Overflow用户
提问于 2010-02-20 04:32:49
回答 2查看 815关注 0票数 1

我在我的Windows2008Server上设置了一个ODBC连接,并且我正在尝试用Powershell文件替换一些执行某些处理的.BAT文件。

有没有办法在PowerShell中做同样的事情呢?

CALL osql /instanceName /Uuser /Ppassword /Q"EXECUTE storedProcName @Parm1= %ePROFILE%,@PARAMET2= N'%eValList%‘

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-20 10:25:06

如果您希望在查询数据库后使用实际的Powershell对象,可以使用我最近编写的如下函数:

代码语言:javascript
复制
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
}
票数 0
EN

Stack Overflow用户

发布于 2010-02-20 05:52:41

SQL Server2008提供了一个名为invoke-sqlcmd的osql Powershell cmdlet,它可以执行与Powershell中的osql相同类型的操作。也就是说,如果你想继续使用osql,你应该能够这样做,并继续使用你的Windows用户varaialbes:

osql /instanceName /Uuser /Ppassword /Q“执行storedProcName @Parm1= $env:ePROFILE,@param2 = N'$env:eValList‘

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2299355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档