2013-02-02 71 views
1

我想从运行Mac OS X的本地计算机以Python进行开发,并连接到网络中的Vertica数据库。尝试从Mac OS X连接到Vertica时无效的连接字符串

我下载了Vertica Mac驱动程序并根据说明进行设置。当iODBC的测试,我得到:

$ iodbctest 
iODBC Demonstration program 
This program shows an interactive SQL processor 
Driver Manager: 03.52.0607.1008 

Enter ODBC connect string (? shows list): ? 

DSN        | Driver         
------------------------------------------------------------------------------ 
VerticaDSN      | Vertica         

Enter ODBC connect string (? shows list): VerticaDSN 
1: SQLDriverConnect = [DSI] The error message InvalidConnStr could not be found in the  en-US locale. Check that /en-US/ODBCMessages.xml exists. (-1) SQLSTATE=HY000 

当unixODBC的测试,我得到一个不同的错误:

$ isql -v VerticaDSN user pw 
[S1000][unixODBC][DSI] The error message NoSQLGetPrivateProfileString could not be found in the en-US locale. Check that /en-US/ODBCMessages.xml exists. 
[ISQL]ERROR: Could not SQLConnect 

后者应由失踪vertica.ini引起的,但我没有添加vertica.ini并将其目录导出到VERTICAINI环境变量。这里是我的vertica.ini看起来像:

[Driver] 
DriverManagerEncoding=UTF-32 
ODBCInstLib=/usr/lib/libiodbc.2.dylib 
ErrorMessagesPath=/Users/rmedri/Library/ODBC/vertica/lib64 
LogLevel=4 
LogPath=/Users/rmedri 

,这里是我的odbc.ini(在〜/库/ ODBC /):

[ODBC Data Sources] 
VerticaDSN = Vertica  
[VerticaDSN] 
Driver = /Users/rmedri/Library/ODBC/vertica/lib64/libverticaodbc.dylib 
Database = vbit 
Servername = vertica-prod.<xxxx>.<xxxx>.com 
UID = user 
PWD = pw 
Port = 5433 

我已经花了几个小时就这个问题和我不知所措。任何指导表示赞赏,包括替代办法在Python连接到Vertica的Mac OS X上

+0

您是否看到http://stackoverflow.com/questions/9778033/unixodbc-giving-error-while-running-isql-vertica? – Fionnuala

+0

我有和我说的在我的问题中,我确实有Vertica.ini文件遵循Vertica的程序员指南中给出的规范。但仍然没有成功。 – Roberto

回答

1

运行,我知道这是一个有点试验和错误给我们的,但我们最终需要:

DriverManagerEncoding=UTF-16 

而不是Vertica.ini中的UTF-32。