Hive(四):c#通过odbc访问hive

Hive(四):c#通过odbc访问hive

天戈朱  2016-08-12  原文

 

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

  • 读写访问代码示例:
    1. public class HiveOdbcClient
    2. {
    3. /// <summary>
    4. ///
    5. /// </summary>
    6. public static HiveOdbcClient Current
    7. {
    8. get { return new HiveOdbcClient(); }
    9. }
    10.  
    11. /// <summary>
    12. ///
    13. /// </summary>
    14. /// <param name="context"></param>
    15. public void ExcuteNoQuery(string dns, string sql)
    16. {
    17. OdbcConnection conn = null;
    18.  
    19. try
    20. {
    21. conn = new OdbcConnection(dns);
    22. conn.Open();
    23. OdbcCommand cmd = new OdbcCommand(sql, conn);
    24. cmd.ExecuteNonQuery();
    25. }
    26. catch (Exception ex)
    27. {
    28. throw ex;
    29. }
    30. finally
    31. {
    32. if (null != conn)
    33. {
    34. conn.Close();
    35. }
    36. }
    37. }
    38.  
    39. /// <summary>
    40. ///
    41. /// </summary>
    42. /// <param name="context"></param>
    43. /// <returns></returns>
    44. public DataSet Query(string dns, string sql,string tblName = "tbl")
    45. {
    46. DataSet set = new DataSet();
    47. OdbcConnection conn = null;
    48.  
    49. try
    50. {
    51. conn = new OdbcConnection(dns);
    52. conn.Open();
    53. OdbcCommand cmd = conn.CreateCommand();
    54. cmd.CommandText = sql;
    55. OdbcDataAdapter adapter = new OdbcDataAdapter(cmd);
    56. adapter.Fill(set, tblName);
    57. }
    58. catch (Exception ex)
    59. {
    60. throw ex;
    61. }
    62. finally
    63. {
    64. if (null != conn)
    65. {
    66. conn.Close();
    67. }
    68. }
    69.  
    70. return set;
    71. }
    72. }
  • 测试:新建一个控制台工程,测试表创建及数据插入,示例代码如下:
     
    1. class Program
    2. {
    3.  
    4. static void Main(string[] args)
    5. {
    6. Console.WriteLine("按任意键开始进行建表及数据插入测试");
    7. Console.ReadKey();
    8.  
    9. string dns = "DSN=myhive;UID=hive;PWD=";
    10.  
    11. string sql = "create table Employee(ID string,Code string,Name string)";
    12. HiveOdbcClient.Current.ExcuteNoQuery(dns,sql);
    13.  
    14. sql = "insert into table Employee values('002','002','zhangShan');";
    15. HiveOdbcClient.Current.ExcuteNoQuery(dns, sql);
    16.  
    17. Console.WriteLine("数据插入完成,按任意键退出");
    18. Console.ReadKey();
    19. }
    20.  
    21. }
  • 使用上一章介绍的SQurriel 工具,执行: Select * from employee  ,显示代码中插入的数据则OK

 

C#通过ODBC方式连接Hive方法

xtf__moji 2019-10-14 17:04:32  467  收藏
分类专栏: 大数据 C#
版权
C#通过ODBC方式连接Hive方法

 

C#连接hive,有两种办法:

方法一:使用驱动程序,增加dll,连接语句中写好db路径,用户名,密码。

方法二:使用数据源,在windows和vs种配置好数据源。

使用方法一的时候,配置失败了,有个dll文件没法引用,所以使用了方法二。

1,安装软件

MapRHiveODBC32.msi

MapRHiveODBC64.msi

根据自己主机的类型选择安装32位或者是64位版本。

2,配置数据源

路径一,MapRHiveODBC安装目录,打开 administrator。

路径二,控制面板-设置数据源。

 

用户DSN--添加--MapR Hive ODBC Connector

输入用户名,密码。

点击test,成功,则可以。

 

3,visual studio 配置

视图--服务器资源管理器--数据连接--添加连接

 

选择自己刚刚配置的dsn。

测试连接,通过,那就可以了。

 

4,代码使用

代码中增加引用:using System.Data.Odbc;

使用:ODBC类库,OdbcConnection,OdbcCommand,OdbcDataReader,最后 odbcConn.Close();

Odbc支持普通SQL,直接写普通SQL查询就可以了。

连接的时候:

string dns = "DSN=MapR_Hive_ODBC";
OdbcConnection odbcConn = new OdbcConnection(dns);
 

注意:

操作系统最好使用win7,之前我的系统是xp,折腾了很久没弄起来。

 

参考资料:

C#使用ODBC连接MySql数据库

https://blog.csdn.net/small_bottle_cap/article/details/93846594

使用.net通过odbc访问Hive

https://cloud.tencent.com/developer/article/1350010

 
————————————————
版权声明:本文为CSDN博主「xtf__moji」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/GoOnDrift/article/details/102552129

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值