J'essaie de me connecter à une base de données Microsoft SQL et de mettre à jour tout enregistrement dont le champ modifié est = 'x'. Je peux interroger la base de données mais lorsque j'essaie de faire une mise à jour, j'obtiens cette erreurRequête de mise à jour du serveur Powershell SQL
Remplir: Exception appelant "Remplir" avec "1" argument (s): "Expiration du délai. achèvement de l'opération ou le serveur ne répond pas. "
#Create SQL Connection
$con = new-object "System.data.sqlclient.SQLconnection"
#Set Connection String
$con.ConnectionString =(“Data Source=server;Initial Catalog=IDCards;Integrated Security=SSPI”)
$con.open()
$sqlcmd = new-object "System.data.sqlclient.sqlcommand"
$sqlcmd.connection = $con
$sqlcmd.CommandTimeout = 600000
#$sqlcmd.CommandText = “select * from tblPhotoID where changed = 'X'”
$sqlcmd.CommandText = “UPDATE dbo.tblPhotoID SET Changed = '1' WHERE Changed ='X'”
$adapter = New-Object system.data.sqlclient.sqldataadapter ($sqlcmd.CommandText, $con)
$set = New-Object system.data.dataset
$adapter.Fill($set)
Il y a environ 4000 enregistrements qui seraient mis à jour actuellement. Le script s'exécute environ 30 secondes avant l'expiration du délai. J'ai essayé d'augmenter le délai de commande et obtenu les mêmes résultats. Votre instruction de mise à jour ne renverra pas un jeu d'enregistrements, donc il n'y a rien pour remplir l'ensemble de données.
Que se passe si vous essayez de mettre à jour un seul enregistrement? –