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
  • 相关阅读:
    范例-项目-.NET-PetShop-4.0-架构设计:目录、PetShop概述
    汉语-词语:立志
    汉语-汉字:被
    汉语-成语:被褐怀珠
    汉语-成语:被褐怀玉
    汉语-成语:被褐藏辉
    汉语-词语:处世
    使用exp&imp工具进行数据库备份及恢复
    oracle创建表空间-用户-角色-授权
    linux下单独安装oracle12.1客户端
  • 原文地址:https://www.cnblogs.com/tgzhu/p/5761574.html
Copyright © 2011-2022 走看看