返回 Netezza 查询结果

Posted

技术标签:

【中文标题】返回 Netezza 查询结果【英文标题】:Get Netezza Query Result Back 【发布时间】:2014-11-21 18:35:34 【问题描述】:

我一直在做一些在 netezza 数据库上执行查询的测试过程。我只是想知道是否有办法取回任何输出,例如更新的行,或者如何捕获任何错误消息。就像现在一样,它位于正常的 try/catch 块中,但是如果查询失败,是否会作为异常返回,或者程序是否会因为没有收到错误/输出而继续?

基本上我想做的是在下面的控制台写出中我希望它在每次循环时写出输出,然后如果有错误则写出错误。例如,当我使用一个界面进行查询时,它只会滚动显示“blah blah blah 已执行,1 行已更新”,或者如果出现问题将返回错误消息。

下面是代码:

try 

    netezzaConn = new OleDbConnection(connString);
    netezzaConn.Open();
    for(int i = 0; i < recordCounts.Count; i++) 
        if(recordCounts[i].RecordCount.ToString() != recordCounts[i].OrigCount.ToString()) 
            string updateStatement = myquery;
            Console.WriteLine("Executing query : " + updateStatement);
            OleDbCommand exe = new OleDbCommand(updateStatement, netezzaConn);
            exe.ExecuteNonQuery();
         else 
            Console.WriteLine("No records were removed from the file : " + recordCounts[i].FileName + ". Not updating Netezza.");
        
    
    netezzaConn.Close();

【问题讨论】:

【参考方案1】:

对此进行了一些研究,您必须使用 return int...

int rowsAffected = command.ExecuteNonQuery();

rowsAffected 将显示已更改的行数。

【讨论】:

以上是关于返回 Netezza 查询结果的主要内容,如果未能解决你的问题,请参考以下文章

netezza nzsql 将查询结果导出到 csv 文件

RJDBC 限制来自 Netezza 的行

为啥 BIGINT/INT 在 Netezza 中不起作用

对数据库的 Netezza 查询失败并显示 netezza.max.stmt

C# SQL 插入到 Netezza。 Netezza 不发送返回,C# 代码超时

Netezza SQL 查找客户端 IP