우리는 6 개의 데이터 테이블을 리턴하는 RPG 사람들로부터 "저장 프로 시저"를 받았습니다. .NET 용 iSeries Provider (V5R4와 V6R1을 모두 사용하여 시도)를 사용하여 .NET (C#, 3.5)에서 호출하려고하면 저장된 프로 시저를 호출하는 방법에 따라 다른 결과가 표시됩니다. 여기에 우리가 그것을 할 원합니다 방법 :매우 이상한 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);
}
}
이런 식으로 이렇게, 우리는 다섯 테이블 다시 결과 집합에서 얻을. 우리가 할 경우,이 :
cmd.CommandType = CommandType.Text;
cmd.CommandText = "CALL StoredProcName('" + thing + "')";
우리는 예상 SIX 테이블을 다시 얻을.
저는 .NET-to-DB2를 사용하는 분들이 많이 계시지 만, 저는 이전에이 프로그램을 본 적이 있기를 바랍니다.
TIA.
고마워요! 우리는 이것을 경험하지 않고 있지만 이것은 분명히 알아야 할 것이고 잘 알고 있어야합니다. – David