2017-02-14 149 views
0

如何在powershell中显示postgresql的输出。下面是一个例子:如何在PowerShell中显示&导出postgresql输出

$query = "SELECT * FROM test where first_name='test'" 

function Get-ODBC-Data{ 
    param([string]$query=$(throw 'query is required.')) 
    $conn = New-Object System.Data.Odbc.OdbcConnection 
    $conn.ConnectionString = "Driver={PostgreSQL Unicode(x64)};Server=localhost;Port=5432;Database=Test;Uid=test;Pwd=test;" 
    $conn.open() 
    $cmd = New-object System.Data.Odbc.OdbcCommand($query,$conn) 
    $ds = New-Object system.Data.DataSet 
    (New-Object system.Data.odbc.odbcDataAdapter($cmd)).fill($ds) | out-null 
    $conn.close() 
    $ds.Tables[0] 
} 

function Set-ODBC-Data{ 
    param([string]$query=$(throw 'query is required.')) 
    $conn = New-Object System.Data.Odbc.OdbcConnection 
    $conn.ConnectionString= "Driver={PostgreSQL Unicode(x64)};Server=localhost;Port=5432;Database=test;Uid=test;Pwd=test;" 
    $cmd = new-object System.Data.Odbc.OdbcCommand($query,$conn) 
    $conn.open() 
    $cmd.ExecuteNonQuery() 
    $conn.close() 

} 

$result = Get-ODBC-Data -query $query 
$db = set-odbc-data -query $query 
  1. 如何显示或屏幕截图所示的格式取存在于该输出值?

enter image description here

  • 我怎样才能导出输出到CSV在一个适当的格式?
  • 回答

    0

    我没有测试,但尝试使用下面的命令从PowerShell脚本

    C:\Get-Query | Out-GridView 
    C:\Get-Query | Export-CSV Info.csv 
    C:\Get-Query | Format-Table -autosize 
    

    输出假设该文件中的脚本名为Get-查询

    The solution from this URL

    +0

    谢谢但这不起作用。在我的代码中,$ db值显示从数据库中获取的结果数量(比如说3)。我想要的是让PowerShell以我的屏幕截图中显示的格式显示输出/结果。我不知道如何在我的脚本中编写该部分。 – irish

    +0

    您可以使用现有的系统DSN,如下所示:http://stackoverflow.com/questions/29930687/retrieve-data-from-postgresql-using-powershell –