You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DataTable从Reader加载失败问题求助

DataTable从Reader加载失败问题求助

嘿,看你的代码应该是想用Trino查询的结果填充DataTable,但目前代码不仅没写完,还缺了最关键的读取数据并加载到DataTable的步骤,我来帮你补全并梳理下可能的问题点吧!

首先你现有代码只完成了Trino连接的初始化和打开,后面的IDbC明显是截断了,应该是要创建查询命令却没写完。下面是完整的可运行示例代码,包含从查询到填充DataTable的全流程:

TrinoConnectionProperties properties = new TrinoConnectionProperties() 
{   
    Host = "127.0.0.1",    
    Port = 7777,    
    Catalog = "delta",    
    User = "admin",     
    Schema = "runtime",     
    EnableSsl = false   
};  

using (TrinoConnection connection = new TrinoConnection(properties)) 
{
    connection.Open();
    // 替换成你实际要执行的查询语句,先在Trino客户端验证下查询是否能正常返回数据
    string query = "SELECT * FROM your_target_table"; 
    using (IDbCommand command = connection.CreateCommand())
    {
        command.CommandText = query;
        // 执行查询获取数据读取器
        using (IDataReader reader = command.ExecuteReader())
        {
            // 初始化DataTable并加载读取器中的数据
            DataTable dt = new DataTable();
            dt.Load(reader);
            // 这里就可以使用填充好的DataTable了,比如绑定到UI控件或者做数据处理
            Console.WriteLine($"成功加载{dt.Rows.Count}条数据到DataTable");
        }
    }
}

如果还是加载失败,你可以从这几个方向排查:

  • 先在Trino官方客户端或者其他工具里执行你的查询语句,确认查询本身能返回有效数据
  • 检查Trino服务是否正常运行,127.0.0.1:7777这个地址能不能正常访问
  • 确认Catalog、Schema和表名的拼写完全正确,Trino对这些名称的大小写通常是敏感的
  • 添加异常捕获,打印具体的错误信息,这是排查问题最直接的方式:
try
{
    // 把上面的完整代码放在这里
}
catch (Exception ex)
{
    Console.WriteLine($"加载数据出错:{ex.Message}");
    Console.WriteLine("详细错误信息:");
    Console.WriteLine(ex.StackTrace);
}

备注:内容来源于stack exchange,提问作者Nelson Soares

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 16:18:11