我正在使用 ODBC 驱动程序来运行带有多个选择语句的 sql 脚本,因此有多个结果集。加载到数据集中的结果不符合预期。
这是数据集在填充 DataAdapter 后的样子:
ReportType CreatedDate CountofFirmCreated
---------- ----------- ------------------
Firms Created 27/03/2023 12:00:00 am 14
Firms Created 28/03/2023 12:00:00 am 15
Firms Created 29/03/2023 12:00:00 am 10
Firms Created 30/03/2023 12:00:00 am 20
Firms Created 31/03/2023 12:00:00 am 22
Firms Created 1/04/2023 12:00:00 am 24
Firms Created 2/04/2023 12:00:00 am 39
Firms Created 3/04/2023 12:00:00 am 40
Firms Created 4/04/2023 12:00:00 am 73
Firms Created 5/04/2023 12:00:00 am 91
Firms: Users Invited
Firms: Users Invited
Firms: Users Invited
Firms: Users Invited
Firms: Users Invited
Firms: Users Invited
Firms: Users Invited
Firms: Users Invited
Firms: Users Invited
Firms: Users Invited
如您所见,第一个结果集按预期加载到数据集中,但它之后的每个结果集仅加载结果中三列中的一列。所有的结果集都有三列数据,但都有不同的列标题名称。共有 6 个结果集。我的代码有什么问题会导致这种情况发生吗?这是我的代码:
$connectionString = "Driver={ODBC Driver 17 for SQL Server};Server=$servername;Database=$database;UID=$username;Password=$password;Authentication=ActiveDirectoryInteractive;MultipleActiveResultSets=True"
# Create and open SQL connection
$connection = New-Object System.Data.Odbc.OdbcConnection
$connection.ConnectionString = $connectionString
$connection.Open()
# Create a SQL command object
$command = New-object System.Data.Odbc.OdbcCommand($script, $connection)
$ds = New-Object system.Data.DataSet
$adapter = New-Object System.Data.Odbc.OdbcDataAdapter $command
$adapter.FillSchema($ds, [System.Data.SchemaType]::Source)
$adapter.Fill($ds) | Out-Null
$ds.Tables