zoukankan      html  css  js  c++  java
  • Hive(四):c#通过odbc访问hive

          hive odbc 驱动配置成功后,通过c#访问就变得比较简单了,分为查询与更新操作,直接附上测试代码。在此过程中需要注意c#工程编译的目标平台

    • 读写访问代码示例:
      public class HiveOdbcClient
          {
              /// <summary>
              /// 
              /// </summary>
              public static HiveOdbcClient Current
              {
                  get { return new HiveOdbcClient(); }
              }
      
              /// <summary>
              /// 
              /// </summary>
              /// <param name="context"></param>
              public void ExcuteNoQuery(string dns, string sql)
              {
                  OdbcConnection conn = null;
      
                  try
                  {
                      conn = new OdbcConnection(dns);
                      conn.Open();
                      OdbcCommand cmd = new OdbcCommand(sql, conn);
                      cmd.ExecuteNonQuery();
                  }
                  catch (Exception ex)
                  {
                      throw ex;
                  }
                  finally
                  {
                      if (null != conn)
                      {
                          conn.Close();
                      }
                  }
              }
      
              /// <summary>
              /// 
              /// </summary>
              /// <param name="context"></param>
              /// <returns></returns>
              public DataSet Query(string dns, string sql,string tblName = "tbl")
              {
                  DataSet set = new DataSet();
                  OdbcConnection conn = null;
      
                  try
                  {
                      conn = new OdbcConnection(dns);
                      conn.Open();
                      OdbcCommand cmd = conn.CreateCommand();
                      cmd.CommandText = sql;
                      OdbcDataAdapter adapter = new OdbcDataAdapter(cmd);
                      adapter.Fill(set, tblName);
                  }
                  catch (Exception ex)
                  {
                      throw ex;
                  }
                  finally
                  {
                      if (null != conn)
                      {
                          conn.Close();
                      }
                  }
      
                  return set;
              }
          }
      View Code
    • 测试:新建一个控制台工程,测试表创建及数据插入,示例代码如下:
      class Program
          {
      
              static void Main(string[] args)
              {
                  Console.WriteLine("按任意键开始进行建表及数据插入测试");
                  Console.ReadKey();
      
                  string dns = "DSN=myhive;UID=hive;PWD=";
      
                  string sql = "create table Employee(ID string,Code string,Name string)";
                  HiveOdbcClient.Current.ExcuteNoQuery(dns,sql);
      
                  sql = "insert into table Employee values('002','002','zhangShan');";
                  HiveOdbcClient.Current.ExcuteNoQuery(dns, sql);
      
                  Console.WriteLine("数据插入完成,按任意键退出");
                  Console.ReadKey();
              }
              
          }
    • 使用上一章介绍的SQurriel 工具,执行: Select * from employee  ,显示代码中插入的数据则OK
  • 相关阅读:
    Go-15-flag.String 获取系统参数
    Go-14-解决 go get golang.org/x/text 拉取失败问题
    Go-08-函数与指针
    redis 学习(6)-- 集合类型
    redis 学习(5)-- 列表类型
    redis 学习(4)-- 哈希类型
    redis 学习(3)-- String 类型
    redis 学习(二)-- 通用命令
    redis 学习(1)-- redis 安装与启动
    Mysql 索引原理及优化
  • 原文地址:https://www.cnblogs.com/tgzhu/p/5761574.html
Copyright © 2011-2022 走看看