C# バッチ ジョブから呼び出される DB2 ストアド プロシージャを使用するプログラムがあります。.ExecuteReader() 呼び出しが行われると、Visual Studio 2010 は、データ リーダー オブジェクトの FieldCount が '0' で、HasRows プロパティが 'False' であることを示します。
ただし、さらに調べてみると、オブジェクトの奥深くに隠されていることがわかりました (これは、デバッグ中に「ローカル」の読み出しをふるいにかけることで発見されました)。ストアド プロシージャは実際にはデータを送り返し、必要な情報は奥深くに埋め込まれています。 DB2DataReader オブジェクト。
HasRows プロパティと FieldCount プロパティの両方がそれぞれ「False」と「0」であるため、組み込みメソッド (つまり、.GetString(x)、.GetValue(x).ToString()、等)。while(reader.Read()) コマンドは常に false になるため (HasRows プロパティにより)、結果をループできません。
何らかの種類の DataReader を使用してこのような問題を経験した人はいますか、または一般的な提案はありますか?