1

Mac OS Xを実行しているローカルマシンからPythonで開発し、ネットワーク内の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(〜/ Library / 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

私はこれに数時間を費やしました、そして私は途方に暮れています。Mac OS Xで実行されているPythonからVerticaに接続するための代替方法を含め、あらゆるガイダンスを歓迎します。

4

1 に答える 1

1

私たちにとっては試行錯誤の連続だったことは承知していますが、最終的には次のものが必要になりました。

DriverManagerEncoding=UTF-16

vertica.ini の UTF-32 の代わりに。

于 2013-02-05T08:06:50.690 に答える