Я создал базу данных SQL Server с простой таблицей на моем локальном компьютере. Я пытаюсь запросить информацию из этой таблицы. Вот мой код:
$connection= New-Object system.data.sqlclient.sqlconnection
$Connection.ConnectionString = `
"server=.;database=sharespace;trusted_connection=True"
$connection.open()
#########query drop paths##########################################
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlQuery = "select Droppath from sharespace"
$SqlCmd.CommandText = $SqlQuery
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$SqlCmd.Connection = $SqlConnection
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
Это не удалось со следующими ошибками:
Exception calling "Fill" with "1" argument(s): "A network-related or
instance-specific error occurred while establishing a connection to SQL Server.
The server was not found or was not accessible. Verify that the instance name is
correct and that SQL Server is configured to allow remote connections.
(provider: SQL Network Interfaces, error:
25 - Connection string is not valid)"
At D:\query.ps1:31 char:17
+ $SqlAdapter.Fill <<<< ($DataSet)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
Мне удалось выполнить вышеупомянутые "######## пути вывода запросов #########", я думаю, что подключился к локальной базе данных, но почему остальная часть не удалась?
Может ли кто-нибудь мне помочь? пожалуйста...
Проблема в том, что вы определили объект подключения с именем $ connection, но затем использовали $ sqlconnection в своем коде.
Вот правильный код:
######connect to windows authentication local database################################
$connection= new-object system.data.sqlclient.sqlconnection #Set new object to connect to sql database
$Connection.ConnectionString ="server=.;database=sharespace;trusted_connection=True" # Connectiongstring setting for local machine database with window authentication
Write-host "connection information:"
$connection #List connection information
Write-host "connect to database successful."
$connection.open() #Connecting successful
#########query drop paths############################################################
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand #setting object to use sql commands
$SqlQuery = "select Droppath from sharespace" #setting query "get drop paths"
$SqlCmd.CommandText = $SqlQuery # get query
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter #
$SqlAdapter.SelectCommand = $SqlCmd #
$SqlCmd.Connection = $connection
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$connection.Close()
$DataSet.Tables[0]