Posted By ggmt89 on 18 Sep 2009 02:00 PM
$SQLSERVER=read-host "Enter SQL Server Name:"
$Database=read-host "Enter Database Name:"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$SQLSERVER;Database=$DATABASE;Integrated Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "select name from sysobjects where type='u'"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$query="select usuarios from usuarios" | foreach {$_.usuarios}
Write-Verbose "Get-ISData serverName:$serverName databaseName:$databaseName query:$query"
$da = New-Object "System.Data.SqlClient.SqlDataAdapter" ($query,$SqlConnection)
$dt = New-Object "System.Data.DataTable"
[void]$da.fill($dt)
$dt
$SqlConnection.Close()
tables name is: usuarios
columns name is: usuarios
but return this error:
Exception callin "fill" with "1" argument(s): "ExecuteReader: CommandText property has not been At C:\sql.ps1:16 char:16
+ [void]$da.fill( (((( $dt)
help me correct this error!
This is somewhat odd, $query="select usuarios from usuarios" | foreach {$_.usuarios}. You should just set $query to a string i.e.
$query="select usuarios from usuarios"
Get rid of the | foreach {$_usarios} part. I haven't test the entire thing. Post back any errors after making this change first.