Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!

python throws SIGABRT while trying to connect vertica on M1 macOS

Hello
I am trying to connect vertica using pyodbc
here is a simple code example:
import pyodbc
con = pyodbc.connect("DSN=vertica")

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

Information about my local environment:
Python 2.7.18
pyodbc 4.0.32
macos Monterey 12.3.1
arch arm64
iodbc administrator version 3.52
Vertica odbc driver version 9.2

Another issue that might be related:
I am executing the iodbctest:
/Library/Application\ Support/iODBC/bin/iodbctest "DSN=vertica;UID=dbadmin;PWD=password"

And i get this error:
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.1521.0607
1: SQLDriverConnect = [iODBC][Driver Manager]dlopen(/Library/Vertica/ODBC/lib/libverticaodbc.dylib, 0x0006): tried: '/Library/Vertica/ODBC/lib/libverticaodbc.dylib' (fat file, but missing compatible architecture (have 'x86_64,i386', need 'arm64e')) (0) SQLSTATE=00000
2: SQLDriverConnect = [iODBC][Driver Manager]Specified driver could not be loaded (0) SQLSTATE=IM003

Answers

  • SruthiASruthiA Employee

    we dont support ARM architecture yet. hence it is expected behavior.

  • Bryan_HBryan_H Administrator

    If you are able to upgrade to Python 3 (strongly recommended as Python 2 is end of life), you will be able to use the native driver vertica-python from https://github.com/vertica/vertica-python (also available via pip), which will run on ARM64.

Leave a Comment

BoldItalicStrikethroughOrdered listUnordered list
Emoji
Image
Align leftAlign centerAlign rightToggle HTML viewToggle full pageToggle lights
Drop image/file

Can't find what you're looking for? Search the Vertica Documentation, Knowledge Base, or Blog for more information.