从 ODBCDataAdapter 加载多个结果不会加载所有列

问题描述 投票:0回答:0

我正在使用 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
sql sql-server powershell odbc
© www.soinside.com 2019 - 2024. All rights reserved.