Как решить odbc ошибку в файле main.py в проекте? - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь запустить проект mapr-customer-360 в моей облачной виртуальной машине и следую всем инструкциям, приведенным в репозитории GitHub, но когда я запускаю сервер bokeh и пытаюсь загрузить http://IP:5006/bokeh, он показывает белый экран послепри загрузке, и когда я проверяю консоль, в файле main.py возникает ошибка.

2019-03-30 07:53:04,266 Error running application handler <bokeh.application.handlers.directory.DirectoryHandler object at 0x7fd5c2d835c0>: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found and no default driver specified (0) (SQLDriverConnect)')
File "main.py", line 67, in <module>:
conn = pyodbc.connect("DSN=drill64,UID=mapr,PWD=mapr", autocommit=True) Traceback (most recent call last):
  File "/root/anaconda3/lib/python3.6/site-packages/bokeh/application/handlers/code_runner.py", line 125, in run
    exec(self._code, module.__dict__)
  File "/root/customer360/bokeh/main.py", line 67, in <module>
    conn = pyodbc.connect("DSN=drill64,UID=mapr,PWD=mapr", autocommit=True)
pyodbc.InterfaceError: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found and no default driver specified (0) (SQLDriverConnect)')

Мой драйвер odbc установлен правильно, и я сослался на старую статью StackOverflow и попытался выполнить команду.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mapr/drillodbc/lib/64

но когда я проверил снова, это показывает это.

[root@instance-1 ~]# ldd /opt/mapr/drillodbc/lib/64/libmaprdrillodbc64.so
ldd: /opt/mapr/drillodbc/lib/64/libmaprdrillodbc64.so: No such file or directory
[root@instance-1 ~]#

Также, когда я проверяю с этой командой

 python -c 'import pyodbc; print(pyodbc.dataSources()); print(pyodbc.connect("DSN=drill64", autocommit=True))'

Мой ответ такой -

{'ODBC': '', 'MapR Drill 32-bit': '/opt/mapr/drill/lib/32/libdrillodbc_sb32.so', 'MapR Drill 64-bit': '/opt/mapr/drill/lib/64/libdrillodbc_sb64.so'}
Traceback (most recent call last):
  File "<string>", line 1, in <module>
pyodbc.InterfaceError: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found and no default driver specified (0) (SQLDriverConnect)')

В настоящее время я использую ОС centos7 с версией mapr 6.1

...