1
我們已經從我們的RPG人員那裏獲得了一個「存儲過程」,它返回了六個數據表。嘗試使用iSeries Provider for .NET從.NET(C#,3.5)調用它(嘗試使用V5R4和V6R1),我們看到了基於我們如何調用存儲過程的不同結果。下面是辦法,我們寧願做:非常奇怪的iSeries Provider行爲
using (var dbConnection = new iDB2Connection("connectionString"))
{
dbConnection.Open();
using(var cmd = dbConnection.CreateCommand())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "StoredProcName";
cmd.Parameters.Add(new iDB2Parameter("InParm1",
iDB2DbType.Varchar).Value = thing;
var ds = new DataSet();
var da = new iDB2DataAdapter(cmd);
da.Fill(ds);
}
}
這樣做,這樣,我們就得到FIVE表早在結果集。但是,如果我們這樣做:
cmd.CommandType = CommandType.Text;
cmd.CommandText = "CALL StoredProcName('" + thing + "')";
我們找回了預期SIX表。
我意識到我們中很多人都對不起.NET到DB2的人,但我希望以前有人看到過。
TIA。
謝謝!我們沒有體驗到這一點,但是這絕對是值得注意的事情,並且很好意識到。 – David 2010-12-14 14:38:26