带c的hbase odbc连接#

ego6inou  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(423)

我正在尝试通过simbaodbc驱动程序(v1.0.2)将我的c应用程序连接到hbase(v0.94)。我已经成功地为hbase rest api配置了odbc dsn,但是当我尝试从代码连接hbase时,它会抛出异常,说:

ERROR [HY000] [Simba][ODBC] (10430) Not enough information provided to establish
a connection to the data source and specified to not prompt for more information.

但我在连接字符串中给出了以下属性:

OdbcConnectionStringBuilder builder = new OdbcConnectionStringBuilder();
       builder.Driver = "Simba Hbase ODBC Driver";
       builder.Dsn = "HbaseTest";
       builder.Add("Host", "192.168.122.5");
       builder.Add("Port", "8080");
       builder.Add("MaxFetchRows", "20000000");
       builder.Add("DefaultMaxColumnSize", "255");
       builder.Add("Sdrl", "128");
       builder.Add("Description", "hbase");
       builder.Add("SslMode", "Preferred");
       builder.Add("User ID", "user");
       builder.Add("Password","pass");
       var con = new OdbcConnection(builder.ConnectionString.ToString());

我已经尝试过不提供凭据,但没有成功。请引导我到这里,我在这里缺少什么。

xn1cxnb4

xn1cxnb41#

我不确定这对您来说是否仍然是个问题,但是这表明连接字符串中没有提供hbase驱动程序所需的一个或多个关键字。
如果您已经设置了dsn并成功测试了它,则可以用以下代码替换代码:

OdbcConnectionStringBuilder builder = new OdbcConnectionStringBuilder();
   builder.Dsn = "HbaseTest";
   var con = new OdbcConnection(builder.ConnectionString.ToString());

如果已经设置了dsn,则可以直接使用它并使用预配置的设置。仅当尚未设置dsn时才使用driver属性。请注意,使用driver属性将要求您为odbc驱动程序提供所有必需的连接设置。

相关问题