ここでこの質問に似た問題に遭遇しています (実行時の SQL Server クエリ結果からのデータ型と列のサイズの表示)。
誰かが解決策や回避策を見つけたのではないかと思います。問題なく SqlDataAdapter.Fill() を使用できますが、.FillSchema() は、ストアド プロシージャで作成した一時テーブルが存在しないというエラーを報告します。
私の目標は、DataTable にソースからのデータとスキーマを入力できるようにすることです。
ここでこの質問に似た問題に遭遇しています (実行時の SQL Server クエリ結果からのデータ型と列のサイズの表示)。
誰かが解決策や回避策を見つけたのではないかと思います。問題なく SqlDataAdapter.Fill() を使用できますが、.FillSchema() は、ストアド プロシージャで作成した一時テーブルが存在しないというエラーを報告します。
私の目標は、DataTable にソースからのデータとスキーマを入力できるようにすることです。
If you do not need DataSet, but just one DataTable, you can use
DataTable dt= new DataTable();
dt.Load(cmd.ExecuteReader());
For a DataSet, you must at least tell the names of the tables (this means the number) that the SP is returning.
DataSet ds = new DataSet();
SqlDataReader sdr = cmd.ExecuteReader();
ds.Load(sdr, LoadOption.OverwriteChanges,"Table1");