我想使用简单的插入查询来填充SQL表。目前,我的剧本由连接字符串创建查询,但我想参数化查询,以避免收到以下错误:参数化的SQL语句
Exception calling "ExecuteNonQuery" with "0" argument(s): "String or binary data would be truncated.
目前我设置我的连接,就像这样:
$conn = New-Object System.Data.SqlClient.SQLConnection
$ConnectionString = "Server=$SQLServer;Database=$SQLDatabase;Integrated Security=True;Connect Timeout=0"
$conn.ConnectionString = $ConnectionString
$conn.Open()
和我的非参数化查询看起来是这样的:
$commandText = "INSERT INTO Servers (Name, OS, Notes, OSOwner) VALUES('$myvm', '$operatingSystem', '$desc', '$owner')"
$command = $conn.CreateCommand()
$command.CommandText = $commandText
$command.ExecuteNonQuery()
我见过的人讨论不同的溶胶在其他帖子中提到这一点,但我不确定最好的方法是什么。
嗯...这就是我最初的想法,但没有发现任何数据,看起来被截断了2000个行。我会更近一点,谢谢你。 –
调试时,输出'$ commandtext',然后复制并粘贴到SSMS中。它应该抛出同样的错误。 – alroc