为什么 SQLCMD 的存储输出只有Length
属性而不是column names
?。sqlcmd
不能用它的属性来存储输出吗?
Invoke-sqlcmd
正确存储它但Invoke-SQLcmd
需要更长的时间来处理,所以我试图让它与 SQLcmd 一起工作,因为这个方法将是不同脚本的一部分,这些脚本计划每分钟运行一次,每小时运行一次等,
知道这是否可能或问题是什么?
存储输出并回显 $var:
PS C:> $var=(SQLCMD -S 'x.x.x.x' -U 'user' -P 'password' -i "C:\query.sql" -W -m 1)
PS C:> $var
job_id name
------ ----
12345-aaaa-1234-5678-000000000000000 Clear DB entries
12345-bbbb-1234-5678-000000000000000 TempLog DB
Echo $var[0,1,2] 不显示属性名称。
PS C:> $var[0]
job_id name
PS C:> $var[1]
------ ----
PS C:> $var[2]
12345-aaaa-1234-5678-000000000000000 Clear DB entries
显示 $var 属性
PS C:> $var | select *
Length
------
11
53
显示 $var 类型
PS C:> $var.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array