2014-10-09 2 views
2

Я настроил UnixODBC использовать улей разъем от Cloudera в моей машине Linux Mint, но я постоянно получаю следующее сообщение об ошибке при попытке подключиться к улью (например, с помощью isql -v hive)параметров соединителя HIVE ODBC

S1000][unixODBC][Cloudera][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function. 
[ISQL]ERROR: Could not SQLConnect 

I думаю, что я установил /etc/odbcinst.ini и ~/.odbc.ini в правильном пути:

# content of /etc/odbcinst.ini 
[hive] 
Description = Cloudera ODBC Driver for Apache Hive (64-bit) 
Driver=/opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so 
ODBCInstLib=libodbcinst.a(libodbcinst.so.1) 
UsageCount = 1 
DriverManagerEncoding=UTF-16 
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/ 
LogLevel=0 
SwapFilePath=/tmp 

и мой ~/.odbc.ini файл содержит:

[hive] 
Description=Cloudera ODBC Driver for Apache Hive (64-bit) DSN 
Driver = hive 
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/ 
# Values for HOST, PORT, KrbHostFQDN, and KrbServiceName should be set here. 
# They can also be specified on the connection string. 
HOST= <the host> 
PORT= <the port> 
Schema=<the schema> 
# .. etc 

Можете ли вы помочь мне узнать, что вызывает ошибку?

+0

это может помочь: http://stackoverflow.com/questions/13887328/sqlgetprivateprofilestring-failed-with –

+0

спасибо sonic, но нет, это не помогло :) Я установил переменные env, но ошибка там – lucacerone

+0

это переменная LD_LIBRARY_PATH? –

ответ

8

Что

ldd /opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so 

Показать вам?

Возможно, драйвер не связан с libodbcinst.so.

Вы можете попробовать

LD_PRELOAD=/usr/local/libodbcinst.so 

или где libodbcinst.so на вашей машине.

+0

спасибо, ldd показывает, что вся необходимая библиотека связана правильно ... – lucacerone

+3

LD_PRELOAD =/usr/local/libodbcinst.so Решил проблему для меня – myloginid

+0

Работал и на меня. Большое спасибо. – leventunver

0

Вы уверены, что используете ODBCInstLib правильно?

я бил один и тот же вопрос с водителем Vertica и моим libodbcinst.so.1 закончился нуждаясь абсолютным путем: /usr/lib/x86_64-linux-gnu/libodbcinst.so.1

Я определил путь, запустив Find for libodbcinst.so.

Смежные вопросы