Read-​Sql​View​Data

Reads data from the view of a SQL database.

Syntax

Read-SqlViewData
    [[-Path] <String[]>]
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [-InformationAction <ActionPreference>]
    [-InformationVariable <String>]
    [<CommonParameters>]
Read-SqlViewData
    [[-ServerInstance] <String[]>]
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [-InformationAction <ActionPreference>]
    [-InformationVariable <String>]
    [-ViewName <String>]
    [-DatabaseName <String>]
    [-SchemaName <String>]
    [-IgnoreProviderContext]
    [-SuppressProviderContextWarning]
    [-Credential <PSCredential>]
    [-ConnectionTimeout <Int32>]
    [<CommonParameters>]
Read-SqlViewData
    [-InputObject] <ScriptSchemaObjectBase[]>
    [-TopN <Int64>]
    [-ColumnName <String[]>]
    [-ColumnOrder <String[]>]
    [-ColumnOrderType <OrderType[]>]
    [-OutputAs <OutputTypeSingleTable>]
    [-InformationAction <ActionPreference>]
    [-InformationVariable <String>]
    [<CommonParameters>]

Description

The Read-SqlViewData cmdlet reads data stored in the view of a SQL database. You can select which columns to read, limit the number of rows, and sort and order columns.

You can use this cmdlet with the Windows PowerShell SQL provider. This cmdlet can infer information such as server, database, schema, and table from its current path.

This cmdlet supports the follow output formats:

  • DataSet. An object of type System.Data.DataSet that contains one table.
  • DataTable. An object of type System.Data.DataTable. The TableName property of this object is the same as the table that this cmdlet queries.
  • DataRows. A collection of System.Data.DateRow objects.

Examples

Example 1: Get two rows from a view

PS C:\> Read-SqlViewData -ServerInstance "MyServer\MyInstance" -DatabaseName "MyDatabase" -SchemaName "dbo" -ViewName "MyView" -TopN 2
Id Name   Amount
-- ----   ------
10 AAAAA  -1.2
11 BBBBB  1.2

This command gets the first two rows from the database view [MyDatabase].[dbo].[MyView] on the MyServer\MyInstance instance. The TopN parameter specifies the number of rows.

Example 2: Display a whole table

PS C:\> cd SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Views\dbo.MyView
PS SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Views\dbo.MyView> Read-SqlViewData
Id Name Amount
-- ---- ------
10 AAAA -1.2
11 BBBB 1.2
12 CCCC -1.0
13 DDDD -2.0

The first command changes the location to be a view in the SQLSERVER provider. The command prompt reflects the new location. For more information, type Get-Help about_Providers.

The second command displays the whole table. Because the command uses its context, it does not specify any parameters.

Example 3: Display selected sorted columns

PS C:\> cd SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Views\dbo.MyView
PS SQLSERVER:\sql\MyServer\MyInstance\Databases\MyDatabase\Views\dbo.MyView> Read-SqlViewData -TopN 3 -ColumnName "Id","Name" -ColumnOrder "Id","Name" -ColumnOrderType DESC,ASC
Id Name
-- ----
12 CCCC
11 BBBB
10 AAAA

The first command changes the location to be a view in the SQLSERVER provider. The command prompt reflects the new location.

The second command displays two columns in the order specified by the ColumnOrder parameter. The command specifies how many rows to display and the sort order for the columns. Sorting is performed on the server.

Required Parameters

-InputObject

Specifies an array of SQL Server Management Objects (SMO) objects that represent the view that this cmdlet reads.

Type:ScriptSchemaObjectBase[]
Position:1
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

Optional Parameters

-ColumnName

Specifies an array of names of columns that this cmdlet returns.

Type:String[]
Aliases:ColumnToReturn
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ColumnOrder

Specifies an array of names of columns by which this cmdlet sorts the columns that it returns.

Type:String[]
Aliases:OrderBy
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ColumnOrderType

Specifies an array of order types for columns that this cmdlet returns. The acceptable values for this parameter are:

  • ASC. Ascending.
  • DESC. Descending.

The values that you specify for this parameter match the columns that you specify in the ColumnOrder parameter. This cmdlet ignores any extra values.

Type:OrderType[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ConnectionTimeout

Specifies the number of seconds to wait for a server connection before a time-out failure. The time-out value must be an integer between 0 and 65534. If 0 is specified, connection attempts do not time out.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Credential

Specifies a PSCredential object for the connection to SQL Server. To obtain a credential object, use the Get-Credential cmdlet. For more information, type Get-Help Get-Credential.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-DatabaseName

Specifies the name of the database that contains the view.

If you run this cmdlet in the context of a database or a child item of a database, the cmdlet ignores this parameter value. Specify the IgnoreProviderContext parameter for the cmdlet to use the value of the DatabaseName parameter anyway.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-IgnoreProviderContext

Indicates that this cmdlet does not use the current context to override the values of the ServerInstance, DatabaseName, SchemaName, and ViewName parameters. If you do not specify this parameter, the cmdlet ignores the values of these parameters, if possible, in favor of the context in which you run the cmdlet.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InformationAction

Specifies how this cmdlet responds to an information event.

The acceptable values for this parameter are:

  • Continue
  • Ignore
  • Inquire
  • SilentlyContinue
  • Stop
  • Suspend
Type:ActionPreference
Aliases:infa
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InformationVariable

Specifies an information variable.

Type:String
Aliases:iv
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-OutputAs

Specifies the type of output. The acceptable values for this parameter are:

  • DataSet
  • DataTable
  • DataRows
Type:OutputTypeSingleTable
Aliases:As
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Path

Specifies the path of the view that this cmdlet reads.

Type:String[]
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-SchemaName

Specifies the name of the schema for the view.

If you run this cmdlet in the context of a database or a child item of a database, the cmdlet ignores this parameter value. Specify the IgnoreProviderContext parameter for the cmdlet to use the value of the SchemaName parameter anyway.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ServerInstance

Specifies the name of an instance of SQL Server. For the default instance, specify the computer name. For named instances, use the format ComputerName\InstanceName.

If you run this cmdlet in the context of a database or a child item of a database, the cmdlet ignores this parameter value. Specify the IgnoreProviderContext parameter for the cmdlet to use the value of the ServerInstance parameter anyway.

Type:String[]
Position:1
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False
-SuppressProviderContextWarning

Indicates that this cmdlet suppresses the warning message that states that the cmdlet uses the provider context.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-TopN

Specifies the number of rows of data that this cmdlet returns. If you do not specify this parameter, the cmdlet returns all the rows.

Type:Int64
Aliases:First
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-ViewName

Specifies the name of the view from which this cmdlet reads.

If you run this cmdlet in the context of a database or a child item of a database, the cmdlet ignores this parameter value. Specify the IgnoreProviderContext parameter for the cmdlet to use the value of the ViewName parameter anyway.

Type:String
Aliases:Name
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False