如何从.NET中的DB2 z / OS数据库返回匿名块中的游标

时间:2014-05-15 17:15:45

标签: c# sql cursor db2 zos

根据IBM文档(see this page)中的示例,在.NET中应该可以从匿名块返回DB2 z / OS游标并使用datareader循环结果,但是以下代码崩溃时出现以下异常:

错误[42601] [IBM] [DB2] SQL0104N意外的令牌" CURSOR1"发现在""之后。预期的代币可能包括:"部分"。"

测试代码:

[Test]
public void Test()
{
    using (var conn = new DB2Connection(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString))
    {
        conn.Open();
        using (var cmd = new DB2Command("BEGIN " +
                                        "DECLARE CURSOR1 CURSOR WITH RETURN TO CLIENT WITH HOLD FOR SELECT ID, DESCRIPTION FROM ITEMS; "+
                                        "OPEN CURSOR1; "+
                                        "END;", conn))
        {
            using (var rdr = cmd.ExecuteReader())
            {
                while (rdr.Read())
                {
                    Console.WriteLine("{0}: {1}", rdr.GetString(0), rdr.GetString(1));
                }
            }
        }
    }

}

我的数据库是在z / OS上运行的DB2 V10数据库。 我使用的是DB2 Connect V10.5.3 ...

有人有这个工作吗?

0 个答案:

没有答案